Loading ...
Sorry, an error occurred while loading the content.

I set namespace of response object but different one is returned

Expand Messages
  • Rich T_
    Here s a good one. I have a SOAP service at work that uses different WSDL files to implement the API, each with its own namespace. Working fine, but lately we
    Message 1 of 1 , Dec 3, 2013
    • 0 Attachment
      Here's a good one. I have a SOAP service at work that uses different WSDL files to implement the API, each with its own namespace. Working fine, but lately we are seeing responses that come back with the wrong namespace.

      The code in the Handler module looks at the SOAPAction in the header and parses that for the proper namespace via a hash lookup. The last lines of the handler() method are

          $server->configure(@_);
          $server->serializer->ns($ns, 'ourNS');
          $server->SUPER::handler(@_);

      If I run a typical session, first request is an Auth, then a Utility function and then some Provisioning action. So the namespaces returned should be our.server.com/auth, ourserver.com/util, ourserver.com/prov. But when I run it with SOAPUI, I'm seeing our.server.com/auth, ourserver.com/util, ourserver.com/auth in the Response Header.

      I checked the code, the correct namespace is being sent to the ns() call. Doing some further debugging, what I've narrowed it down to is the httpd process running. Once the ns gets set in that, it stays that way. In the problem example, I check the pid and when requests gets handled by the same pid as the first Auth, the response ns is always our.server.com/auth. When the first request handled by the second pid is the Util, all responses after that have ns that is always our.server.com/util.

      Any idea why this is happening?
    Your message has been successfully submitted and would be delivered to recipients shortly.