[Xml-compile] multiple WSDL files, the first of which does not have a service definition

Mark Overmeer mark at overmeer.net
Thu Oct 4 11:01:25 GMT 2012


* Karen Etheridge (perl at froods.org) [121003 20:41]:
> I have a WSDL split out over multiple files, with the <wsdl:service> tag
> defined in the second file.
> I am loading them via:
> my $wsdl = XML::Compile::WSDL11->new($wsdlfiles[0]);
> $wsdl->addWSDL($_) foreach @wsdlfiles[1 .. $#wsdlfiles-1];

The provision for multiple WSDLs is to be able to support multiple
XML protocols within one client or server.  It is not my intention
to support breaking-up WSDLs into components.  The only accepted
concept is import and includes within the type definition.

I do not consider this a bug: it is just how WSDLs are made.

> PS: I see that in XML::Compile::WSDL11::init(), if multiple WSDL
> files are passed as an arrayref, they are passed as a list to addWSDL, but
> addWSDL only uses the first argument - so I think that one of these changes
> should be made:

That's a bug.

> - init should call ->addWSDL($_) foreach (ref $wsdl eq 'ARRAY' ? @$wsdl : $wsdl)
>         instead of ->addWSDL(ref $wsdl eq 'ARRAY' ? @$wsdl : $wsdl);

This is the best fix, accepted.
-- 
Regards,

               MarkOv

------------------------------------------------------------------------
       Mark Overmeer MSc                                MARKOV Solutions
       Mark at Overmeer.net                          solutions at overmeer.net
http://Mark.Overmeer.net                   http://solutions.overmeer.net




More information about the Xml-compile mailing list