cancel
Showing results for 
Search instead for 
Did you mean: 

Remove XI-part of SOAP Header in Axis Adapter

Former Member
0 Kudos

Hi folks!

We are running a PI 7.11 and use the SOAP Axis Sender Adapter in a synchronous SOAP Web Service scenario. Our challenge is that in our response we definitely need a SOAP Header tag, but it should be empty like this <soapenv:Header/> or this <soapenv:Header></soapenv:Header>

We tried to achieve this with the Axis Handler com.sap.aii.axis.soap.HeaderRemovalHandler. But regardless of the parameters we provide to this handler it always removes the complete SOAP Header. On sample is to remove the PI-specific Main header tag from SOAP Header:

name.1=Main

namespace.1=http://sap.com/xi/XI/Message/30

We also tried it only with namespace. But always the same sh... happens: The SOAP Header is removed completely.

Any ideas?

Thanx very much in advance!

Regards,

Volker

Accepted Solutions (0)

Answers (1)

Answers (1)

stefan_grube
Active Contributor
0 Kudos

> We tried to achieve this with the Axis Handler com.sap.aii.axis.soap.HeaderRemovalHandler.

java:com.sap.aii.axis.xi.XI30InboundHandler should do this. This is part of the standard module chain.

Former Member
0 Kudos

Hi Stefan!

Thanx for your reply. We found that Axis handler mentionedby me in SAP Note 1039369 "FAQ XI Axis Adapter" .

But please tell me how to parameterize the java:com.sap.aii.axis.xi.XI30InboundHandler to ensure that the XI part of SOAP header is removed, but not the complete SOAP header.

Thanx in advance!

Regards,

Volker

stefan_grube
Active Contributor
0 Kudos

When you create a new channel and select transport protocol 'Servlet' the module chain should be correct and the Axis adapter works like the SOAP adapter.

If it does not work for you, there might be a bug and you should apply a patch or report to SAP.

As I rember I was not able to work with Axis adapter 7.11 SP 1.

Former Member
0 Kudos

Hi Stefan!

Thank you, but this is not my problem.

To say it again in clear words. Given are two XI-specific SOAP header tags like e.g. Main and Dynamic Configuration. I just wanna remove these two tags from the SOAP header of the response. All other tags should "survive" and be sent to the requestor.

Regards,

Volker

stefan_grube
Active Contributor
0 Kudos

So you want to remove Main and DynamicConfiguration, but the other header nodes like SAP:ReliableMessaging and SAP:HopList should remain?

I thought you wanted an empty header?

Former Member
0 Kudos

Hi Stefan!

Yeah! That's exactly what we want:

We wanna remove specific parts of the XI Header. And like already mentioned we found that Axis handler mentioned by me in SAP Note 1039369 "FAQ XI Axis Adapter" . According to this note this handler should exactly do what we want/need, but it always removes the complete header including the soap:header tags.

Regards,

Volker

Former Member
0 Kudos

Hi Stefan the I am taking like this error. "Exception caught by adapter framework: MustUnderstand headers:[{http://sap.com/xi/XI/Message/30}Main, {http://sap.com/xi/XI/Message/30}ReliableMessaging] are not understood" I want to remove http://sap.com/xi/XI/Message/30}ReliableMessaging and MustUnderstand headers:[{http://sap.com/xi/XI/Message/30}Main . My module configuration is the below:

I used java:com.sap.aii.axis.soap.HeaderRemovalHandler this parameter but the error still continuing.