In DataPower, I have to read the incoming requests soap action. Once read, I need to extract the last string after delimiter and save it in the variable. Then I need to modify the SoapAction and set as new value for every request going outside Datapower.
I have
SOAPAction="http://service.example.com/version10_1/getMessage"
I want it as
SOAPAction="http://service.example.com/version11_1/getMessage"
I have an idea to use functions like below. Please suggest on 1. how can I substring the value"getMessage" from the Header. I want to use it further by saving in a variable.. 2. And what is the better way to modify the incoming SOAPAction and send it new. Only Version is modified from version 10_1 to 11_1.
<xsl:template name="HeaderChange">
<xsl:variable name="IncomingRequest" select="dp:request-header('SOAPAction')"/>
<xsl:variable name="Mymethod"><xsl:value-of select=(get the getMessage here)/></xsl:variable>
<dp:set-http-request-header name="SOAPHeader" value="'to modify old SOAPAction'"/>
<dp:freeze-headers/>
</xsl:template>