on 10-03-2007 2:38 PM
Hi all,
I need to integrate with internal(Flexware ) system using websercies. So internal(flexware ) system has provided one wsdl file.
I have taken that wsdl file and tested with webclients like( Altova xml spy, and soapUi) and it is working fine.
I have done http2soap integration in SAPXI to integrate with internal(flexware) system.
But it is giving some errors.
If I consuming the open WSDL( like currency converter ) in SAP XI, it is working fine.
My internal wsdl file :
<?xml version="1.0" encoding="UTF-8" ?>
- <wsdl:definitions targetNamespace="http://xxxxxx:xxx/services/XIReceiver" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://xxxxxx:xxx/services/XIReceiver" xmlns:intf="http://xxxx:xxxxx/services/XIReceiver" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <!--
WSDL created by Apache Axis version: 1.4
Built on Apr 22, 2006 (06:55:48 PDT)
-->
- <wsdl:types>
- <schema targetNamespace="http://xml.apache.org/xml-soap" xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
- <complexType name="Vector">
- <sequence>
<element maxOccurs="1" minOccurs="1" name="item" type="xsd:string" />
</sequence>
</complexType>
</schema>
</wsdl:types>
- <wsdl:message name="receiveXIResponse">
<wsdl:part name="receiveXIReturn" type="apachesoap:Vector" />
</wsdl:message>
- <wsdl:message name="receiveXIRequest">
<wsdl:part name="matNum" type="soapenc:string" />
<wsdl:part name="matDesc" type="soapenc:string" />
<wsdl:part name="unit" type="soapenc:string" />
</wsdl:message>
- <wsdl:portType name="XIReceiver">
- <wsdl:operation name="receiveXI" parameterOrder="matNum matDesc unit">
<wsdl:input message="impl:receiveXIRequest" name="receiveXIRequest" />
<wsdl:output message="impl:receiveXIResponse" name="receiveXIResponse" />
</wsdl:operation>
</wsdl:portType>
- <wsdl:binding name="XIReceiverSoapBinding" type="impl:XIReceiver">
<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
- <wsdl:operation name="receiveXI">
<wsdlsoap:operation soapAction="" />
- <wsdl:input name="receiveXIRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://services.avon.com" use="encoded" />
</wsdl:input>
- <wsdl:output name="receiveXIResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xxxxx:xxxx/services/XIReceiver" use="encoded" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
- <wsdl:service name="XIReceiverService">
- <wsdl:port binding="impl:XIReceiverSoapBinding" name="XIReceiver">
<wsdlsoap:address location="http://xxxx:xxxxx/services/XIReceiver" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
and my error in SAP XI (SXI_MONITOR)->
<SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
<SAP:Category>Application</SAP:Category>
<SAP:Code area="UNKNOWN">APPLICATION_ERROR</SAP:Code>
<SAP:P1 />
<SAP:P2 />
<SAP:P3 />
<SAP:P4 />
<SAP:AdditionalText>application fault</SAP:AdditionalText>
<SAP:ApplicationFaultMessage namespace="http://xml.apache.org/axis/">hostname</SAP:ApplicationFaultMessage>
<SAP:Stack />
<SAP:Retry>M</SAP:Retry>
</SAP:Error>
Please help me for this problem
Thanks
Deviprasad Pothireddi
Hi all,
I solved this problem.
This WSDL file is correct and works fine with any web client like (altova and soap-ui).
<b>Deep analysis on message request(with some values) in SAP XI and SOAP client.:</b>
when i loaded the WSDL in SAP XI External definition. it is showing showing input and output messages are
"receiveXIRequest" and "receiveXIResponse".
when i test with some dummy values in message mapping(for request) it is showing as
<receiveXIRequest>
MatNo - 1234
MatName- abcd
</receiveXIRequest>
when i test with some dummy values in any webclient(soap-ui) it is showing as
<receiveXI>
MatNo - 1234
MatName- abcd
</receiveXI>
<b>Got solution</b>: Then i have modified the WSDL as message type name into "receiveXI ". simply replace "receiveXIRequest" with "receiveXI".
Then i have been sending SAP idoc message to FLEXWARE(webservices).
Thanks,
Deviprasad Pothireddi
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Deviprasad,
Follow this guide and verify everything whether you have done corretly or not.
Regards
Sreenivas
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Prasad,
<b>UR WSDL is not correct!!!
Remove all "-" from the WSDL and do it agian .....it should work</b>
use the below one !!!!
************************
<?xml version="1.0" encoding="UTF-8" ?>
<wsdl:definitions targetNamespace="http://xxxxxx:xxx/services/XIReceiver" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://xxxxxx:xxx/services/XIReceiver" xmlns:intf="http://xxxx:xxxxx/services/XIReceiver" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!--
WSDL created by Apache Axis version: 1.4
Built on Apr 22, 2006 (06:55:48 PDT)
-->
<wsdl:types>
<schema targetNamespace="http://xml.apache.org/xml-soap" xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
<complexType name="Vector">
<sequence>
<element maxOccurs="1" minOccurs="1" name="item" type="xsd:string" />
</sequence>
</complexType>
</schema>
</wsdl:types>
<wsdl:message name="receiveXIResponse">
<wsdl:part name="receiveXIReturn" type="apachesoap:Vector" />
</wsdl:message>
<wsdl:message name="receiveXIRequest">
<wsdl:part name="matNum" type="soapenc:string" />
<wsdl:part name="matDesc" type="soapenc:string" />
<wsdl:part name="unit" type="soapenc:string" />
</wsdl:message>
<wsdl:portType name="XIReceiver">
<wsdl:operation name="receiveXI" parameterOrder="matNum matDesc unit">
<wsdl:input message="impl:receiveXIRequest" name="receiveXIRequest" />
<wsdl:output message="impl:receiveXIResponse" name="receiveXIResponse" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="XIReceiverSoapBinding" type="impl:XIReceiver">
<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="receiveXI">
<wsdlsoap:operation soapAction="" />
<wsdl:input name="receiveXIRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://services.avon.com" use="encoded" />
</wsdl:input>
<wsdl:output name="receiveXIResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xxxxx:xxxx/services/XIReceiver" use="encoded" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="XIReceiverService">
<wsdl:port binding="impl:XIReceiverSoapBinding" name="XIReceiver">
<wsdlsoap:address location="http://xxxx:xxxxx/services/XIReceiver" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
*********************
Regards
BILL
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
76 | |
9 | |
8 | |
7 | |
6 | |
5 | |
5 | |
5 | |
5 | |
5 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.