Deb,
The last response from the server does not include a soap session value. Can we default to another method of persistence? There does not look like there is anything I can use in the last request for a continuation of the soap session.
This is what my Irule looks like.
when HTTP_REQUEST {
collect the payload containing the POST data
HTTP::collect [HTTP::header Content-Length]
}
when HTTP_REQUEST_DATA {
persist on data beginning the 59th character following the 'xmlns:soapenc=' string & ending @ "<" char
and follow existing persistence record or create a new one
persist uie [findstr [HTTP::payload] xmlns:soapenc= 58 <]
log local0. [findstr [HTTP::payload] xmlns:soapenc= 58 <]
}
when HTTP_RESPONSE {
set SessionId [findstr [HTTP::payload] xmlns:soapenc= 58 <]
log local0. "Response SessionId is: $SessionId"
if { $SessionId != "" }{ persist add uie $SessionId }
}
Here is a sample of the last response header value.
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">:findPublicIdFOOResponse
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns1="http://api.FOO.com/">xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"/>licIdFOOResponse>