This queue is for tickets about the SOAP-Lite CPAN distribution.

Report information
The Basics

Nobody in particular
richard.tomasso [...]

(no value)
Broken in:
(no value)
Fixed in:
(no value)

Subject: Namespace set in server code is changed by apache in response
Date: Tue, 3 Dec 2013 14:30:08 -0500
To: <>
From: "Richard Tomasso" <>

I have a SOAP service 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. The last lines of the handler() method are

    $server->serializer->ns($ns, 'ourNS');


@_ is an Apache2::RequestRec

If I run a typical session, first Request is an Auth, then a Utility action and then some Provisioning action, based on those WSDLs. So the namespaces returned should be,, But when I run it with SOAPUI, I'm seeing,, in the Response Headers.

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 ourNS gets set in that, it stays that way. In the problem example, I checked the pid and when Requests gets handled by the same pid as the first Auth, the Response ourNS is always When the first request handled by the second pid is the Util, all Responses handled by that httpd process after that have an ourNS that is always And so on.

It’s not at all clear why the httpd process is doing something to override what is explicitly set in the SOAP object. Is this some weird side-effect of the problematic way SOAP::Lite handles namespaces to begin with?


This service runs on Request Tracker, is sponsored by The Perl Foundation, and maintained by Best Practical Solutions.

Please report any issues with to