on 01-09-2008 10:53 AM
Hello!
I have built a prototype that is using the SOAP lookup API to call the RFC_READ_TABLE RFC exposed as a Web Service.
The Web Service receives the call and processes it but returns a SOAP Fault instead of a SOAP Response and thus the lookup fails.
09.01.2008 11:33:05 Success SOAP: request message entering the adapter with user XIREPUSER
09.01.2008 11:33:05 Success SOAP: completed the processing
09.01.2008 11:33:05 Success SOAP: continuing to response message 42ecd600-be9e-11dc-9b8d-001a4b068db7
09.01.2008 11:33:05 Error SOAP: response message contains an error XIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: Document Format Error
Error in the mapping test tool is:
Error while lookup: Exception during processing the payload.Problem when calling an adapter by using communication channel Rec_read_table_SOAP (Party: , Service: com_hp_read_table_webservice, Object ID: cddea2f159a238efa76386f9886dde46) null
com.sap.aii.mapping.lookup.LookupException: Problem when calling an adapter by using communication channel Rec_read_table_SOAP (Party: , Service: com_hp_read_table_webservice, Object ID: cddea2f159a238efa76386f9886dde46) null
The request XML the mapping sends out is working with the WebAS test tool so there is no problem with the XML payload.
In the SOAP communication channel I put in
Target URL: http://<host>:<ABAP port>/sap/bc/soap/rfc
SOAP action: http://www.sap.com/RFC_READ_TABLE
which I got from the WSDL (http://<host>:<ABAP port>/sap/bc/soap/wsdl11?services=RFC_READ_TABLE&sap-client=<client>)
I'd appreciate any hints what might be wrong, thanks for your help.
Regards, Tanja
I think the URL is not correct. Check the URL in the WSDL.
Check also, if the user and password are correct for the backend and have the necessary rights for the RFC call.
Regards
Stefan
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello!
> I think the URL is not correct. Check the URL in the WSDL.
The SOAP action and URL in the WSDL http://<host>:<ABAP port>/sap/bc/soap/wsdl11?services=RFC_READ_TABLE&sap-client=<client> is:
<binding name="RFC_READ_TABLEBinding" type="s0:RFC_READ_TABLEPortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="RFC_READ_TABLE">
<soap:operation soapAction="http://www.sap.com/RFC_READ_TABLE"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="RFC_READ_TABLEService">
<documentation>SAP Service RFC_READ_TABLE via SOAP</documentation>
<port name="RFC_READ_TABLEPortType" binding="s0:RFC_READ_TABLEBinding">
<soap:address location="http://<host>:<ABAP port>/sap/bc/soap/rfc"/>
</port>
</service>
> Check also, if the user and password are correct for the backend and have the necessary rights for the RFC call.
For testing I used my personal user which has SAP_ALL.
I will not spend a lot of more time on this as in the meantime we have decided to use the RFC instead of the SOAP lookup API which was working fine.
Regards, Tanja
Hi Tanja,
Only a hint...
To make a lookup between XI and ECC it is better to use RFC than SOAP. We have tested it looking for performance, and it is a little better with rfc in lookup scenario (in end to end scenario soap is better).
Other hint, "SAP_ALL" is not really "all" when you are dealing with soap adapter (or any other adapter at java stack).
regards!
roberti
User | Count |
---|---|
81 | |
10 | |
10 | |
9 | |
7 | |
6 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.