cancel
Showing results for 
Search instead for 
Did you mean: 

SET_PAYLOAD_FAILED error in SOAP to Proxy scenario

Former Member
0 Kudos

Hi PI Experts,

We have an inbound syncronus interface (Non sap system to SAP) using the SOAP to Proxy scenario.

When we test the interface using any soap tool like soapui it is working fine but when the interface is triggered end to end from source system then the below error is getting dispalyed on source system.

500 Internal Server Error

In XI below is the error message -

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

- <!-- Inbound Message

-->

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

<SAP:Category>XIProxy</SAP:Category>

<SAP:Code area="ABAP">SET_PAYLOAD_FAILED</SAP:Code>

<SAP:P1>IN</SAP:P1>

<SAP:P2>REQUEST</SAP:P2>

<SAP:P3 />

<SAP:P4 />

<SAP:AdditionalText />

<SAP:ApplicationFaultMessage namespace="" />

<SAP:Stack>Internal error when completing the message object (setting the payload, direction: IN message: REQUEST)</SAP:Stack>

<SAP:Retry>M</SAP:Retry>

</SAP:Error>

Can any please let me know what is the issue here?

Appreciate your help.

Regards,

Jitender

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

Hi Jitender,

If the SoapUI test works fine, then it means everything is okay on your side.

I would start trying to investigate what what is actually sent (request) from the non-SAP system. Maybe you could even setup a mock service in SoapUI so that the non-SAP system can call your SoapUI Mock Service and if it works, a mock response should be sent back to them. If it falls over, then it will prove that they are not doing something right on that side.

They should really be doing this test themselves. If your SoapUI unit test on your side works, you work is done.

Regards, Trevor

JuanDK78
Participant
0 Kudos

We had a similar issue with a Synchronous Interface

The interface worked perfectly when sending the request directly to the integration server, but when sending it using SOAP the issue appeared.

It was very tricky to solve it because we had similar interfaces that worked without any issues.

SOLUTION: Create a new Service interface with a new name different from the one failing. And make sure The Message Types are in the same namespace as the service interface.

Why?:

The issue turned out to be in the sender agreement, and name-spacing issues.

Our Outbound Service Interface belonged to one SWCV and ns, We will call it "ns1:SI_A_OUT".

In PI 7.3, and I believe 7.11 also, the you no longer assign a default interface in the to the SOAP communication channel sender agreement pair.

Therefore the SOAP adapter determines the soap method from the payload. If The internal message type in the soap message belong to different namespace, the the java method  getMessage() does not find the correct XML node, therefore does not find the payload.

<"ns1:SI_A_OUT">

...<ns2:MT_element>

getMessage( ns1:MT_element)

We are not sure if the issue is the implementation of the SOAP protocol or in the WSDL generation. But this issues seem to create orphan object during runtime, and even if you re-implement the complete interface, the sender agreement seems to be corrupt.

Therefore the only was we could solve this, was to move our MT to the same namespace as the service interface and rename the interface "ns1:SI_A2_OUT"

Hope this helps someone.

Juan Francisco Zurita Duque

NNIT A/S

0 Kudos

Hi Kan,

From the 500 Internal Server Error, there's a generic description that MAY helps:

500 Internal Server Errors

Description: The server encountered an unexpected condition which prevented it from fulfilling the request.

Possible Tips: Have a look into SAP Notes u2013 804124, 807000

If not, from the specific error (SET_PAYLOAD_FAILED), try the re-defining the object

that seems to be failing in your scenario.

Also check if the connectivity is working properly since the 500 error means connectivity problem.

Regards,

Caio Cagnani

Former Member
0 Kudos

Hi,

Here is some more information on the issue.

When the interface is tested from external application with out attachement, then it is working fine now. But when the attachment is being sent , then it is giving the empty payload error in SXMB_MONI.

It is working 100% correct when it is tested with any saop client.

Can any one please provide suggestions please.

Thanks,

Jitender

Former Member
0 Kudos

hello - any idea? we have the same problem.