cancel
Showing results for 
Search instead for 
Did you mean: 

Error CANNOT_READ_PAYLOAD in SOAP Response

Former Member
0 Kudos

Hi,

We are deploying a webservice on SAP PI, when we call the SAP PI webservice directly, everything works normal, and we get a response.

When we call the SAP PI web service through a different J2EE web service, the fields in response are null(though the SOAP message is received), because PI is not able to get the PAYLOAD in the SOAP request, the following error is obtained in the response.

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>

- <!-- Request Message Mapping

-->

- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">

<SAP:Category>XIServer</SAP:Category>

<SAP:Code area="MAPPING">CANNOT_READ_PAYLOAD</SAP:Code>

<SAP:P1 />

<SAP:P2 />

<SAP:P3 />

<SAP:P4 />

<SAP:AdditionalText />

<SAP:ApplicationFaultMessage namespace="" />

<SAP:Stack>Unable to read payload from the message object</SAP:Stack>

<SAP:Retry>N</SAP:Retry>

</SAP:Error>

Every other configuration and the web service settings used are the same, Only the direct call to a WEB SERVICE DEPLOYED IN SAP PI engine is redirected through a WEB SERVICE deployed in J2EE engine to the SAP PI engine, is causing problems.

Please Help..Urgently.

Thanks..

Accepted Solutions (0)

Answers (5)

Answers (5)

Former Member
0 Kudos

This quesion answered .

It very helpul.

Former Member
0 Kudos

Hi Veera,

You have to explain what you mean by "call the SAP PI webservice directly" and "call the SAP PI web service through a different J2EE web service". The entry point of a PI webservice is typically the soap sender adapter on the adapter engine. If your two variants are calling the same entry point with the same request message, the result should be identical.

Best regards, Yza

Former Member
0 Kudos

Hi Use JAVA Port instead of ABAP port.

Generate the Webservice using java port,

URL in WSDL should be like

http://<server:5xxxx>/XISOAPAdapter/MessageServlet?channel=:<bs>:<soap sender channel>&sap-user=<username>&sap-password=<password>

Former Member
0 Kudos

Hi,

You should read these:

There is a lot more

Former Member
0 Kudos

can you use soapUI (or similar) to call the SOAP URL and check to make sure the structure is correct and maybe run a test?