Skip Menu |

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

Report information
The Basics
Id: 72836
Status: resolved
Priority: 0/
Queue: SOAP-Lite

People
Owner: Nobody in particular
Requestors: abayliss [...] gmail.com
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: Processing a SOAP 1.2 request breaks the next SOAP 1.1 response
Date: Wed, 30 Nov 2011 10:50:29 +0000
To: bug-SOAP-Lite [...] rt.cpan.org
From: Andrew Bayliss <abayliss [...] gmail.com>
When using SOAP::Lite on the server side, and in a long running process (i.e. not CGI), if a SOAP 1.2 request is received and processed, a subsequent SOAP 1.1 request processed by the same process will return invalid XML, the xsi namespace definition is missing. In fact, the SOAP 1.2 response is also missing the xsi namespace definition, but this may well be a separate issue. I suspect this is probably to do with the "SOAP version WILL NOT be restored when we are done. is it problem?" comment within SOAP::Server, but the SOAP::Lite code scares me too much to try and figure out how to fix it :) Test case attached. Note the comment on line 19, our service adds this line to make the SOAP response more like rpc/literal, not sure if this affects anything. First noticed with SOAP::Lite 0.710.10, also occurs in 0.714, both on Perl 5.10.1.

Message body is not shown because sender requested not to inline it.

Subject: Re: [rt.cpan.org #72836] AutoReply: Processing a SOAP 1.2 request breaks the next SOAP 1.1 response
Date: Thu, 1 Dec 2011 10:14:17 +0000
To: bug-SOAP-Lite [...] rt.cpan.org
From: Andrew Bayliss <abayliss [...] gmail.com>
My curiosity got the better of me, and I think I've fixed the issue, patch attached. The problem was that when the SOAP version is changed, the serializer's set of namespaces are completely replaced (which removes xsi and xsd), and then the XML schema is set again, but because it changes the XML schema to the same value as before, SOAP::Serializer->xmlschema didn't do anything. I've removed that check and also fixed the problem where the encodingStyle was reset by just setting it to what it was before. This passes all the SOAP::Lite tests for me.

Message body is not shown because sender requested not to inline it.

Fixed in SVN in rev 400. Best regards, Martin
Fixed in 0.715 just uploaded to CPAN