Skip to Content
0

Changing SoapAction in Point-to-Point Integration Flow

Aug 04, 2017 at 12:56 PM

94

avatar image

Hello,

we have a simple integration flow with a Point-to-Point pattern (SOAP sender to SOAP receiver).

There is no mapping in between, the only requirement is that the SOAP sender sends a request with a SoapAction whereas the SOAP receiver requires the same request with an empty value for SoapAction.

Although the WSDL in the receiver channel specifies an empty SoapAction the SoapAction of the sender request is passed through to the receiver resulting in an error on receiver side.

I am wondering why the WSDL in the receiver channel is obviously ignored. Can the SoapAction explicitly removed with a groove script step?

This is the piece of code I have tried so far, but with no result:

def Message processData(Message message) {
	//Headers 
	message.setHeader("SOAPAction", "");
	return message;
}

Thank you for your support!

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

2 Answers

Gayathri Narayana
Aug 04, 2017 at 06:32 PM
0

Hi Florian,

Please can you provide a screenshot of your integration flow?

thanks,

Gayathri

Show 2 Share
10 |10000 characters needed characters left characters exceeded

Hello Gayathri,

sure, here is the screenshot. As you can see it is a simple point-to-point flow from a SOAP sender to SOAP receiver. The structure of the message remains unchanged, just the SOAPAction needs to be replaced by an empty string.


0

Hi Florian,

Please could you check if this could be realized using a content modifier in combination with a script?

Regards,

Gayathri

0
Florian Guppenberger Aug 07, 2017 at 07:48 AM
0

One more update. I have realized that in my previous tests the script was not executed at all. I have fixed this issue, but now the above mentioned groovy script raises the following error:

Message processing failed.

java.lang.NoSuchMethodException: No signature of method: org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.Sets SoapAction to empty value() is applicable for argument types: (com.sap.gateway.ip.core.customdev.processor.MessageImpl) values: [com.sap.gateway.ip.core.customdev.processor.MessageImpl@371cfc81] The same error appears not matter what value I set for the SOAPAction. Any idea what is causing this?
Share
10 |10000 characters needed characters left characters exceeded