SOAP-WSDL - Re: wsdl2perl error

Posted on Wed Apr 2 17:30:38 2008 by lom in response to 7545 (See the whole thread of 4)
Re: wsdl2perl error
Hi Martin,
Thanks for your answer. As I will generate only once, I'll correct a local copy of the WSDL...

However, I found a bug (I think). The following code does nothing interesting, but shows the bug:

use lib '/home/lom/nerc/perl/lib'; use MyInterfaces::DiscoveryService::Discovery; use MyTypes::getListNamesReturnType; use MyTypes::getListReturnType; my $service = MyInterfaces::DiscoveryService::Discovery->new(); my $result = $service->doSearch('plop'); die;

gives the following error:

Bareword "true" not allowed while "strict subs" in use at /home/lom/nerc/perl/lib/MyElements/getLis +tNames.pm line 11. Compilation failed in require at /usr/share/perl5/SOAP/WSDL/Expat/MessageParser.pm line 55. ...propagated at ./tst.pl line 17.

The 'true' in getListNames.pm is due to the line 8 on the wsdl: <xs:element name="getListNames" nillable="true" type="xs:string"/>
If in the generated code (lib/MyElements/getListNames.pm) I replace
__PACKAGE__->__set_nillable(true)
by
__PACKAGE__->__set_nillable('true');
it is OK. I can as an alternative set nillable to '1' instead of 'true'...

Lom
Direct Responses: 7578 | Write a response