> 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>


Reply via email to