Skip Menu | will be shut down on March 1st, 2021.

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

Report information
The Basics
Id: 52328
Status: new
Priority: 0/

Owner: Nobody in particular
Requestors: rfarr [...]

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

Subject: SOAP::WSDL::Expat::MessageParser fails to parse SOAP message with empty <soapenv:Header/>
When calling a SOAP::WSDL service with an empty <soapenv:Header/> the XML fails to parse. eg. <soapenv:Envelope xmlns:soapenv="" xmlns:foo=""> <soapenv:Header/> <soapenv:Body> <foo:DoStuffRequest> <foo:id>123</foo:id> </foo:DoStuffRequest> </soapenv:Body> </soapenv:Envelope> will fail to parse while: <soapenv:Envelope xmlns:soapenv="" xmlns:foo=""> <soapenv:Body> <foo:DoStuffRequest> <foo:id>123</foo:id> </foo:DoStuffRequest> </soapenv:Body> </soapenv:Envelope> will work. This seems to happen in MessageParser where in the End handler even if $current is undefined it is assigned to $self->{data} if (not defined $list->[-1]) { print STDERR "Single element current: $current\n"; $self->{ data } = $current if (not exists $self->{ data }); return; }; Some SOAP clients send an empty SOAP header element, and thus cannot connect to a SOAP::WSDL server as a result.

This service is sponsored and maintained by Best Practical Solutions and runs on infrastructure.

Please report any issues with to