Loading ...
Sorry, an error occurred while loading the content.

4444using Soap::Lite with WSDL

Expand Messages
  • Gary Shea
    Feb 25, 2005
      The basics of using SOAP::Lite with WSDL are pretty simple, as discussed
      in http://guide.soaplite.com/, but there's something I haven't been able
      to figure out yet.

      When not using WSDL, the perl code is something like:

      print SOAP::Lite
      -> uri('http://www.soaplite.com/Demo')
      -> proxy('http://services.soaplite.com/hibye.cgi')
      -> hi()
      -> result;

      In this case an object is returned from the WS method hi(), and that
      object will take calls like result(), fault(), etc. When using WSDL the
      code is something like:

      print SOAP::Lite
      -> service('http://www.xmethods.net/sd/StockQuoteService.wsdl')
      -> getQuote('MSFT');

      Now an actual value is returned from the call to the WS method!
      It turns out that the object returned from:

      my $obj = SOAP::Lite
      -> service('http://www.xmethods.net/sd/StockQuoteService.wsdl');

      is blessed into the name of the service, and that object's
      ISA=(Exporter, SOAP::Lite). If I call $obj->fault() I get an error and
      a message listing the service methods, and informing me that those are
      the only methods available.

      So, has anyone figured out how to get at the meta-info? A method call
      like $obj->SUPER::fault doesn't work, because it refers to the SUPER of
      the package the code is called in, not the SUPER of the object $obj.
      I'm confused!

      Any hints appreciated...

    • Show all 2 messages in this topic