Skip Menu |

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

Report information
The Basics
Id: 105161
Status: resolved
Priority: 0/
Queue: XML-Compile-SOAP

People
Owner: Nobody in particular
Requestors: NWELLNHOF [...] cpan.org
Cc:
AdminCc:

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



Subject: Extensions that add headers break when SOAP11::Encoding is used
This might be related to RT #99735. I have a XML::Compile::SOAP::Extension that adds a header. As soon as I use XML::Compile::SOAP11::Encoding, I get the error: error: cannot find unnamed complex as simpleType or complexType A simple way to reproduce is to add 'use XML::Compile::SOAP11::Encoding' to t/30wsdl11.t from XML::Compile::SOAP::WSA. Then I get: $ perl 30wsdl11.t 1..9 ok 1 - existing operation ok 2 - no errors ok 3 ok 4 error: cannot find unnamed complex as simpleType or complexType # Looks like you planned 9 tests but ran 4.
Subject: Re: [rt.cpan.org #105161] Extensions that add headers break when SOAP11::Encoding is used
Date: Thu, 11 Jun 2015 10:00:54 +0200
To: Nick Wellnhofer via RT <bug-XML-Compile-SOAP [...] rt.cpan.org>
From: Mark Overmeer <mark [...] overmeer.net>
* Nick Wellnhofer via RT (bug-XML-Compile-SOAP@rt.cpan.org) [150610 20:13]: Show quoted text
> Wed Jun 10 16:12:54 2015: Request 105161 was acted upon. > Transaction: Ticket created by NWELLNHOF > Queue: XML-Compile-SOAP > Subject: Extensions that add headers break when SOAP11::Encoding is used > > This might be related to RT #99735. I have a > XML::Compile::SOAP::Extension that adds a header.
Unrelated: that issue showed-up because there were to separate $wsdl objects in the code. Show quoted text
> error: cannot find unnamed complex as simpleType or complexType > A simple way to reproduce is to add 'use XML::Compile::SOAP11::Encoding' > to t/30wsdl11.t from XML::Compile::SOAP::WSA. Then I get:
Very helpful. The patch is very simple. In XML::Compile::Schema::Namespaces sub doesExtend($$) { my ($self, $ext, $base) = @_; return 1 if $ext eq $base; + return 0 if $ext =~ m/^unnamed /; my ($node, $super, $subnode); The ::Encoding uses a hook which uses the 'extends' feature, to apply some sub on all elements of a type extending some base type. But not all types have a name, so not all elements have information in the schema. I have released XML::Compile version 1.49 to CPAN which contains this fix. It may take Pause some time to distribute it. -- thanks for the report, MarkOv ------------------------------------------------------------------------ Mark Overmeer MSc MARKOV Solutions Mark@Overmeer.net solutions@overmeer.net http://Mark.Overmeer.net http://solutions.overmeer.net
Thanks for the quick response. The fix works for me.
Fixed in 3.09, to be released later today