cancel
Showing results for 
Search instead for 
Did you mean: 

Extension of Standard SOAP Header Information in SOAP Adapter

Former Member
0 Kudos

We are currently trying to call an eBay Web Service via SAP XI and we are using the SOAP Adapter in XI to achieve this.

The following Authentication Information is required in the SOAP Header for accessing the eBay Web Service:

- Token

- ApplicationID

- DevelopmentID

- CertificationID.

Unfortunately, the standard SOAP Adapter supports only certain SOAP Header Information (like User Authentication or Certificate Authentication).

Is it possible to extend the SOAP Header Information in the SOAP Adapter (or somewhere else in XI) beyond the standard configurations?

Thanks for your support.

Alexander Bange

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi Otto,

can you tell me what is meant with headers in the http Adapter: http request headers or XML headers?. In addition I am not sure what you mean with SOAPACTION. I would appreciate if you could explain the solution in more detail or provide an example.

Thanks in advance for your feedback.

Alex

Former Member
0 Kudos

Hi Alexander -

One option that you can try is to use mapping to create the entire SOAP message and configuring the receiver SOAP adapter to not wrap the payload with an additional SOAP envelope. Before it required a module parameter but now there's a checkbox on the receiver configuration channel - "Do Not Use SOAP Envelope". I personally haven't tried this yet.

There are more references to this in the SOAP FAQ Note 856597. Look for "noSOAP" references in the Note within section 7. Although it mentions SOAP body elements, since you're really constructing the entire SOAP message as the payload, it should apply to header elements as well.

Regards,

Jin

Former Member
0 Kudos

Hi Jin,

thanks for your input and sorry for my late reply but I wanted to wait for feedback from SAP who actually confirmed your recommendation.

I had a second thought about this and it came to my mind that I actually don't want to extend the SOAP Header elements but simply fill the mentioned authentication elements with values. This cannot be done in the message mapping as only the SOAP body elements (i.e. the payload) can be mapped.

Do you know if and how I can fill the SOAP header elements with values in XI?

I already tried to include this information as fixed values in the WSDL description and load it into XI. Then I looked into the WSDL description and an error message occured stating that XI could not parse the XML Document (Fatal Error: com.sap.engine.lib.xml.parser.ParserException: = expected in attlist(:main:, row:18074, col:54)).

If there is no solution for the latter, I will have to try nosoap solution. Still this would be a little awkward.

Thanks again for your valuable support.

Best Regards.

Alex

Former Member
0 Kudos

Hi Alexander -

If it's really an element you can access in the SOAP Header, the noSOAP mode and mapping accordingly is the only way I see.

However, transport level attributes like target URL, SOAP Action, and authentication can only be influenced using adapter specific attributes (aka dynamic configuration). I'm not sure if it will suit your requirements. Dynamic configuration requires at least SP14. Check <a href="http://help.sap.com/saphelp_nw04/helpdata/en/43/0a7d1be4e622f3e10000000a1553f7/frameset.htm">here</a> for more info.

Regards,

Jin

Former Member
0 Kudos

Hi,

We have used the http adapter to solve this problem.

That was for document based soap.

It works fine. This way you can put in what ever www headers you like (SOAPACTION) and put your xml in the body. Good luck.

Best regards /Otto