Subject: | "complexType.tt NOT_FOUND error" if namespace-prefix is used several times for different namespaces |
Date: | Tue, 13 Sep 2011 09:55:03 +0200 |
To: | bug-SOAP-WSDL [...] rt.cpan.org |
From: | Patrick <patrick.kuijvenhoven [...] gmail.com> |
If a namespace-prefix is used several times and corresponds to
different namespaces, SOAP::WSDL has trouble looking for a type in
these namespaces. I've noticed the "TODO: check whether URI is the
better key." in
"SOAP::WSDL::Expat::WSDLParser::_import_namespace_definitions", and I
think the namespace itself is indeed a better "key". I managed to
create an example (by stripping down the irrelevant parts of the WSDL
I'm using). The example-files are attached to this bug as
wsdl_plus_xsds.tar.gz.
Test results are the same for SVN-trunk, 2.00.99_3 and 2.00.10:
$ wsdl2perl.pl file:`pwd`/MyService.wsdl
Creating complexType class MyTypes/commonRecordData.pm
Creating simpleType class MyTypes/lookupKey.pm
Creating complexType class MyTypes/userProfile.pm
/usr/local/lib/perl5/site_perl/5.8.8/SOAP/WSDL/Generator/Template/XSD\complexType.tt
NOT_FOUND error - http://localhost/MyService lookupKey not found at
/usr/local/lib/perl5/site_perl/5.8.8/SOAP/WSDL/Base.pm line 62
Issue: type "lookupKey" exists in namespace
"http://localhost/CommonTypes"; not in "http://localhost/MyService"
Workaround: See hacky patch in work_around.diff
Message body not shown because it is not plain text.
Message body is not shown because sender requested not to inline it.