cancel
Showing results for 
Search instead for 
Did you mean: 

How to use soap 1.2 message protocol in sap pi sender soap adapter?

ivan_kalcha
Explorer
0 Kudos

Hi, I developed SOAP to PROXY synchronous interface. it's working as expected with message protocol SOAP 1.1. In my scenario, I need to use message protocol SOAP 1.2. The requirement is the for response message to have the soap envelope elements that contain "s:" prefixes and soap header element with an attribute. I found multiple article on SDN site about SOAP receiver to use message protocol soap 1.2. I spent some time trying to apply same technique for SOAP Sender adapter but I had no luck so far. I created a java mapping program to remove soap envelope from request message. I created another JAVA mapping program to add SOAP 1.2 envelope into response message. My problem is that requests will not even reach the mapping program.

So if anyone had done the soap 1.2 for Soap sender adapter, it would be appreciated if you can share your solution or feedback. Thanks.

Here is soap response message to be returned:

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing">
<s:Header>
<a:Action s:mustUnderstand="1">http://compay/GetStatementResponse</a:Action>
</s:Header>
<s:Body>
..
</s:Body>
</s:Envelope>

This is the error message I get in Message Log:

Returning to application. Exception: com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.lang.NullPointerException: while trying to invoke the method com.sap.engine.interfaces.messaging.api.Payload.getInputStream() of a null object returned from com.sap.aii.adapter.xi.ms.XIMessage.getMainPayload()

Accepted Solutions (1)

Accepted Solutions (1)

Faison
Advisor
Advisor
0 Kudos

Hello Ivan,

Regarding how to deploy Axis Adapter, you could check following Note and KBA.

1. Prepare: 1039369 - FAQ XI Axis Adapter -> 3.How to prepare axis provider lib sda?

2. Deploy: 2513069 - How to deploy the external drivers for Axis/JDBC/JMS Adapter - Guided Answers

3. Check: 1039369 - FAQ XI Axis Adapter -> 2.How can I check if the Axis adapter is successfully deployed on my system?

Hope above could help.

Best Regards, Faison

ivan_kalcha
Explorer
0 Kudos

Hi Faison,

I found very helpful your answer. We were able to successfully deploy the Axis adapter. My next step is overwriting the Soap envelope response message where element names contain prefix "s:". What will be approach for doing that? Is it done in ESR Message mapping program or Java mapping program? Basically, my service will need to return the response message like this:

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" 

xmlns:a="http://www.w3.org/2005/08/addressing">
<s:Header>
<a:Action s:mustUnderstand="1">http://compay/GetStatementResponse</a:Action>
</s:Header>
<s:Body>
..
</s:Body>
</s:Envelope>

Answers (1)

Answers (1)

mate_moricz
Advisor
Advisor
0 Kudos

Hi Ivan,

Try to use the Axis adapter instead of the SOAP adapter. Axis adapter supports SOAP 1.1 and SOAP 1.2 too: https://help.sap.com/viewer/5cf7d2de571a45cc81f91261668b7361/7.5.13/en-US/45a4f8bbdfdc0d36e10000000a...

Best regards,
Mate

ivan_kalcha
Explorer
0 Kudos

Thanks for your suggestion. Currently, our PI installation does not have Axis adapter. if nothing else works, we might end up going that route. Any ideas what the level of effort will it take to install Axis adapter?