> Todd W <mailto:[EMAIL PROTECTED]> wrote: > > Its a lot easier than that. If the WSDL file is good. SOAP::Lite > > comes with a program called stubmaker.pl that takes a wsdl file as an > > argument and creates a module that you can use(). Then all you do is > > call functions the module makes available. > > Thank you very much for this tip, however I get the same > error when stubmaker.pl tries to parse the wsdl. > > The wsdl validates at the two online wsdl validators > I could find (xmethod and mgateway) but I still get: > > Can't call method "body" on an undefined value at /usr/lib/perl5/site_perl/5.6.1/SOAP/Lite.pm line 2552. > > whenever I try to access the wsdl with SOAP::Lite. >
using the debugger i found that inside the the binding definitions the operation "e_callState" does not specify an input like all the other operations do. I commented out that definition and stubmaker.pl compiled the wsdl fine: <!-- <wsdl:operation name="e_callState"> <soap:operation style="rpc" soapAction=""/> <wsdl:output> <soap:body encodingStyle="... /> </wsdl:output> </wsdl:operation> --> </wsdl:binding> C:\download>stubmaker.pl file://c:/download/ots_api.wsdl Accessing... Writing... ./OTSService.pm done Alternatively, you could probably copy the input node from another operation and paste it in "e_callState". All the other operations use an identical input. ( I didnt try this ). I'd have to look in to it more to be able to tell you who's at fault for your problem. enjoy, Todd W. -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>