[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