cancel
Showing results for 
Search instead for 
Did you mean: 

SOAP via Integration Engine does not work

Former Member
0 Kudos

Hello,

I have the requirement to receive a SOAP request via the XI HTTP ABAP port (e.g. http://host:8000/sap/xi/engine?type=entry&version=3.0), not via the SOAP sender adapter. For this, I found the interesting blog which describes how to send SOAP data directly to the integration engine.

The problem is, it does not work. The same data sent via SOAP sender adapter do work. We are on XI 3.0 SP21.

I am testing both cases with the SAP SOAP client tool. Via the integration engine the result is:

MESSAGE.SOAP_ENVELOPE_INVALID

I have tried different URL variants, with/without escaping. I have added the SOAP action header http://sap.com/xi/WebService/soap1.1

URL is http://myhost:8008/sap/xi/engine?type=entry&version=3.0&Sender.Service=xyz&Interface=xyz^MI_XCBL_ORD...

What extra checks are made on the SOAP envelope ? Something must be different to the SOAP sender adapter.

Can someone post a SOAP message example which is working so that I can compare.

CSY

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Here my own "answer" after trying several things.

The reason for the errors above are the namespaces. My incoming message contains some external namespaces which disturb the Integration Engine SOAP processing, but not the J2EE SOAP Adapter.

So I skipped the IE SOAP way, receive the SOAP data via plain HTTP adapter, and remove the SOAP header data in an XSL-Mapping. This gave also some trouble with the namespaces, but after some adaptions finally works fine now.

CSY

Former Member
0 Kudos

Hi,

Yes , you can send the SOAP Payload directly to the XI integration engine.

To achieve this following link will be usfull.

https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/66dadc6e-0a01-0010-9ea9-bb6d8ca4...

Cheers,

Dhanabal

Former Member
0 Kudos

I know that I can receive the SOAP payload with the integration engine. The problem is, the customer sends whole SOAP envelope.

I know also that I could use plain HTTP adaper URL and use an XSLT to throw out the SOAP header stuff, but using the direct SOAP processing feature of the integration engine would be easier, because that will extract the SOAP payload automatically correct. So far for the theory.

CSY