Subject: | XML attributes causing MessageParser to croak |
Date: | Tue, 18 Mar 2008 11:52:55 +0100 |
To: | <bug-SOAP-WSDL [...] rt.cpan.org> |
From: | "Ashley Hindmarsh" <A.Hindmarsh [...] office.caiw.nl> |
I’ve looked for anything I could be doing wrong, because this looks like a really pervasive bug.
I noticed that the broken line was introduced after upgrading to 2.00_32, from 2.00_28.
I traced the bug, and it breaks at the first attribute on a string (xsi:nil=’true’).
The XML response I get from the generated function is shown below – this should explain the error.
--------------------------------
−
<Fault>
<faultcode>soap:Server</faultcode>
−
<faultstring>
Error deserializing message: Can't locate object method "attr" via package "SOAP::WSDL::XSD::Typelib::Builtin::string" at /usr/local/lib/perl5/site_perl/5.8.8/SOAP/WSDL/Expat/MessageParser.pm line 175
at line 1 at /usr/local/lib/perl5/site_perl/5.8.8/SOAP/WSDL/Expat/Base.pm line 74
.
Message was:
<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope 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"><soapenv:Body><createLocationResponse xmlns="urn:CustomerService"><createLocationReturn><message>OK</message><referenceId>712200</referenceId><role xsi:nil="true"/><statusCode>Location</statusCode><statusSubCode>created</statusSubCode></createLocationReturn></createLocationResponse></soapenv:Body></soapenv:Envelope>
</faultstring>
<faultactor>urn:localhost</faultactor>
</Fault>
--------------------------------
Distro http://search.cpan.org/~mkutter/SOAP-WSDL-2.00_32/
Perl 5.8.8
FreeBSD tagans.caiw.net 6.2-STABLE FreeBSD 6.2-STABLE #0: Wed May 16 11:44:28 CEST 2007 strommel@tagans.caiw.net:/usr/obj/usr/src/sys/CN i386
--------------------------------
Regards,
Ashley Hindmarsh / on behalf of CAIW Netwerken (I am not an employee, but a contractor)
Message body is not shown because it is too large.