Skip to Content

Changing SoapAction in Point-to-Point Integration Flow

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!

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • Aug 04, 2017 at 06:32 PM

    Hi Florian,

    Please can you provide a screenshot of your integration flow?

    thanks,

    Gayathri

    Add comment
    10|10000 characters needed characters exceeded

  • Aug 07, 2017 at 07:48 AM

    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?
    Add comment
    10|10000 characters needed characters exceeded