cancel
Showing results for 
Search instead for 
Did you mean: 

SOAP Receiver adapter : SOAPAction Header appears 2 times using ASMA param

Former Member
0 Kudos

Hi,

I'm using a PI7.1 SOAP receiver channel that uses the ASMA variable THeaderSOAPAction to dynamically add the SOAP action during the mapping. All works fine except that apparently also the 'standard' SOAP action field from the adapter still appears in the request.

( regardless of whether its empty or not )

e.g. the headers from my message look like this

...

Content-Type: text/xml; charset=utf-8

Content-Length: 863

SOAPACTION: "test"

SOAPACTION: "SetFromASMA"

...

I'm using conf.put to set the variable in the map. Should I use other method to 'replace' the existing ?

Did somebody experience this as well ? Any suggestions ?

rgds

Dirk

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

Fixed by SAP OSS note 1255400

stefan_grube
Active Contributor
0 Kudos

Check the notes, it might be a known bug.

If no fix is available, open a ticket.

There should be only one SOAPAction.

Regards

Stefan

Former Member
0 Kudos

SAP has fixed the issue based upon my OSS ticket : 1255400

rgds

Dirk

MichalKrawczyk
Active Contributor
0 Kudos

hi,

did you see the replace code from this page?

http://help.sap.com/saphelp_nw04/helpdata/en/43/03612cdecc6e76e10000000a422035/content.htm

Regards,

Michal Krawczyk

Former Member
0 Kudos

Hi Michael,

Yes, I did see this but :

1) The 'replace' command here is just a java string replace command to manipulate the content before setting the dynamic variable ( nothing to do with replacing an existing dynamic variable in the HTTP headers )

2) I did add first a 'get' to my code after seeing this but that did not work neither ( it even seems that at the time of mappnig execute the static value from the channel is not yet known as the 'get' returns a blank value for the key. ( but then again this is normal because we are only at the mapping step )

It seems that the adapter does not check upfront ig a SOAPACTION was already present or not

( I think this worked in PI 7.0 )

I will submit an oss,

rgds

dirk

MichalKrawczyk
Active Contributor
0 Kudos

hi,

did you try removing soapaction key first ?

with remove method?

http://help.sap.com/javadocs/pi/SP3/xpi/com/sap/aii/mapping/api/DynamicConfiguration.html#remove(com...

Regards,

Michal Krawczyk

Former Member
0 Kudos

Hi Michal

Yes I did ( well , sort of , since I'm doing a 'get' first but the value is empty at this stage so also the remove will not work )

I think thisi s because the communication channel settings are only processed after the mapping steps so during mapping the static configured value of the SOAP Action in the channel is not accessible yet.

Having said this, I remembered the AF_Modules/DynamicConfigurationBean that you can use to set the ASMA variables instead of the UDF function during mapping. Let me see if I can delete the value from here,

Dirk

former_member181962
Active Contributor
0 Kudos

Hi,

Instead of ASMA, you can try to set the SOAP ACtion using the Conversion Parameters in the SOAP Receiver Adapter.

http://help.sap.com/saphelp_nw04/helpdata/EN/29/5bd93f130f9215e10000000a155106/content.htm

(Make a find on "SOAP ACTION")

Regards,

Ravi

Former Member
0 Kudos

Hi Ravi,

My SOAP action needs to be dynamic, otherwise I would indeed use the static field.

So, that is not a solution,

Dirk