יום חמישי, 31 במרץ 2011

SBL-EAI-04333: Service '%1' can not be imported, because none of its ports could be imported.

Applies to:

Siebel System Software - Version: 7.5.3 [16157] and later   [Release: V7 and later ]
z*OBSOLETE: Microsoft Windows 2000


Product Release: V7 (Enterprise)


Version: 7.5.3 [16157]


Database: Oracle 9.2.0.2


Application Server OS: Microsoft Windows 2000 Advanced Server SP 3


Database Server OS: HP 9000 Series HP-UX (64-bit)





This document was previously published as Siebel SR 38-1242389211.


***Checked for relevance on 06-JAN-2011***





Symptoms


When customer imported a WSDL file using WSDL Import Wizard in Siebel Tools, following error occurred:

Errors during processing:

There are no web service definitions to be generated.(SBL-EAI-04340)
Following are warnings generated in the process:

Service 'EProfileSoapBindingImplService' can not be imported, because none of its ports could be imported.(SBL-EAI-04333)

Port 'eProfilePort' can not be imported. PortType 'EProfileSoapBindingImpl' can not be imported. The operation 'createProfile' was ignored. EAI Common Internal Error: Cannot find schema with targetNamespace: 'http://<URL>/CreateProfile'(SBL-UNU-00133)


Cause

Through further research and tests, it was found that the reported behavior was caused by the permission or right to access to the URL where the schema definition file (XSD) files exist. In other words, user must have complete access to the schema definitions when importing the WSDL file into Siebel Tools.

Solution

In customer’s case, the WSDL file was referring several schema definitions as follows:





<import namespace="http://<URL>/CreateProfile" schemaLocation="http://<URL>/CreateProfile.xsd" />





One of ways to verify the reported behavior is related to the permission is that the XSL file can be copied to local path where the WSDL file is placed and the “schemaLocation” attribute value can be changed to as follow:





<import namespace="http://<URL>/CreateProfile" schemaLocation="CreateProfile.xsd" />





If the WSDL file can be imported successfully, the permission to access the schema definition should be resolved first.






















Applies to:

Siebel CRM Call Center - Version: 8.0.0.5 [20420] - Release: V8

Information in this document applies to any platform.




Symptoms


When you try to consume the WSDL in Tools, the following error is output:

“Service 'xGateCreateUser' can not be imported, because none of its ports could be imported.(SBL-EAI-04333)

Port 'Request' can not be imported. The binding element 'http://xgate.com.au/xgate/webservices/definitions/xGate-Create-User-Request:xGateCreateUserBinding' is invalid.
(SBL-EAI-05153)
.The SoapOperation %1 does not have either an input or output SoapBody child.”

Cause


I carried out some research and came across another SR where the customer also encountered the error “The SoapOperation %1 does not have either an input or output SoapBody child.” The error occurred because the WSDL included input soap:header elements in the binding section. The customer’s WSDL also included such elements.

Solution


For the aforementioned SR, the WSDL could be consumed after the Input soap:header elements were removed. It appeared that Output soap:header elements were ignored. CR 10569979 was raised to address this behavior.

Obviously, no repository objects were created for the removed input soap headers. It is possible to add any required headers to an outgoing SOAP document using a local business service. Information on how to do this is included in [Using a Local Business Service To Customize the SOAP Header for an Outbound Web Service in Siebel 7.x and 8.x] (Doc ID 477891.1).

In this case, the customer confirmed that the WSDL could be consumed and that the proxy business service and IOs were created after the soap:header sections were specified after the soap:body.

References

BUG:10569979 - THE SOAPOPERATION %1 DOES NOT HAVE EITHER AN INPUT OR OUTPUT SOAPBODY CHILD.WSDL WITH INPUT HEADER


NOTE:477891.1 - Using a Local Business Service To Customize the SOAP Header for an Outbound Web Service in Siebel 7.x and 8.x





















Applies to:

Siebel Call Center - Version: 7.8.2.3 SIA [19221] and later   [Release: V7 and later ]
Information in this document applies to any platform.


***Checked for relevance on 11-JAN-20111***





Symptoms

Customer has an Outbound Web Service and after an upgrade on it, he is getting the following errors when trying to import the WSDL into Siebel tools:

There are no web service definitions to be generated.(SBL-EAI-04340)

And:

Service 'Search' can not be imported, because none of its ports could be imported.(SBL-EAI-04333)

Port 'SearchEndPoint' can not be imported. There is no soap:binding address for port 'SearchEndPoint', abort this port..


Cause

Analyzing customer WSDL files, the following entry: “<soap12:binding” was found, what means SOAP version 1.2 was being used to generate the WSDL files and Siebel does not support this version. Siebel just supports SOAP 1.1.

Solution

To solve this issue the WSDL should be regenerated using the SOAP 1.1.




















Applies to:

Siebel System Software - Version: 7.8.2.11 SIA[19244] and later   [Release: V7 and later ]
Information in this document applies to any platform.




Symptoms




On : 7.8.2.11 SIA[19244] version, Siebel EAI





When attempting to generate definitions for Outbound Web Service based on wsdl the following error occurs.





ERROR


-----------------------
Project: News Limited
WSDL file to import: C:\intellilinkapi.wsdl
Run-time configuration data file: C:\intellilinkapi.xml
Log File: C:\intellilinkapi.log

Errors during processing:
There are no web service definitions to be generated.(SBL-EAI-04340)
Following are warnings generated in the process:
Service 'IntelliLinkAPIWSService' can not be imported, because none of its ports could be imported.(SBL-EAI-04333)

Port 'IntelliLinkAPIWSServicePort' can not be imported. The binding element

'soap://verint.com/CCS/IntelliLink/ILAPIWS:IntelliLinkAPIWSServiceBinding' is invalid.
(SBL-EAI-05153)
.The transport UNDEFINED for binding IntelliLinkAPIWSServiceBinding is not supported.



STEPS


-----------------------


The issue can be reproduced at will with the following steps:


1. From Siebel Tools > File > New Object > EAI > Web Service


2. Select the WSDL


3. Run the import and the error appears.








Cause




The issue with message 'The transport UNDEFINED for binding IntelliLinkAPIWSServiceBinding is not supported' is caused due to the following undefined definition for Transport within the Binding definition:

"<wsdl:binding name="IntelliLinkAPIWSServiceBinding" type="tns:IntelliLinkAPIWSServicePortType">
<soap:binding style="document" transport=""/>"

In order to get a valid WSDL, it has to include an URI for the Transport attribute in the binding to be used. Information related to the required 'Transport' value is included in Web Service Definition 1.1 standard (http://www.w3.org/TR/wsdl#_soap:binding).







Solution




In order to accomplish with the WSDL 1.1. standard, the 'Transport' attribute has to include an URI with the transport to be used in the service. The standard URI for HTTP is 'http://schemas.xmlsoap.org/soap/http', so please edit your WSDL and replace the content:



"<wsdl:binding name="IntelliLinkAPIWSServiceBinding" type="tns:IntelliLinkAPIWSServicePortType">
<soap:binding style="document" transport=""/>"



with the definition including the URI for transport:



"<wsdl:binding name="IntelliLinkAPIWSServiceBinding" type="tns:IntelliLinkAPIWSServicePortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>"





Save and repeat the Web Service creation from Siebel Toosl.





After doing this you should be able of generating the definitions for the Outbound Web Service.











אין תגובות:

הוסף רשומת תגובה