cancel
Showing results for 
Search instead for 
Did you mean: 

SOAP Adapter with protocol XI 3.0 and adapter modules

Former Member
0 Kudos

Hi,

we have developed an adapter module to base64 decode and unzip the contents of an xml tag. We have successfully tested it with a soap sender channel using native soap protocol.

When trying to use it in a scenario ERP Proxy -> PI Soap Adapter (configured to expect XI 3.0 protocol) we encounter the following problem:

The payload of the message is (in the module you get the payload with message.getMainPayload().getContent() 😞

<sap:Manifest xmlns:SOAP='http://schemas.xmlsoap.org/soap/envelope/' xmlns:sap='http://sap.com/xi/XI/Message/30' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:wsu='http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd' wsu:Id='wsuid-manifest-5CABE13F5C59AB7FE10000000A1551F7'>
	<sap:Payload xlink:type='simple' xlink:href='cid:payload-4DAE8AFC5C960461E10080000A03112B @ sap.com'>
		<sap:Name>MainDocument</sap:Name>
		<sap:Description/>
		<sap:Type>Application</sap:Type>
	</sap:Payload>
</sap:Manifest>

If you look at a message in XI 3.0 format this is the part that is found in the tag <SOAP:Body>. So it seams that for the adapter module the message is treated as a normal soap message and the soap body is treated as payload.

We have tried to get the real payload (which is an attachment in the message) with message.getAttachment(String name) but getAttachmentIterator() returned an iterator pointing to an empty list.

Any ideas what could be wrong or how to remedy the problem?

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

I think this was due to the checkbox for "Do Not Use SOAP Envelope" which was checked but did not have an effect. This probably happened because of a cash refresh problem.