agentorange has asked for the wisdom of the Perl Monks concerning the following question:

Hi monks,

Struggling with SOAP::Lite and despite reading the documentation I just cannot find the answer. Complete noob with SOAP too.

Below code works fine and as a proof of concept is perfectly functional. However how do I wrap a timeout around it and capture errors from the SOAP call?

my $service = SOAP::Lite->service(http://localhost/SOAPsvc?wsdl); my @params = ( SOAP::Data->name(param1 => 'abc' ), SOAP::Data->name(param2 => '123'); my %result = %{ $service->getdata(@params) } ; print Dumper %result;

I've seen SOAP::Lite->proxy($proxyUrl, timeout => 5 ); but I don't have a proxy server. Many thanks

Replies are listed 'Best First'.
Re: SOAP::Lite service timeout?
by vsespb (Chaplain) on May 15, 2013 at 12:24 UTC
    Proxy is not about HTTP Proxy. Looks it's SOAP endpoint (however I am not sure now what is endpoint for)
    The proxy is the server or endpoint to which the client is going to connect.

      Ok thanks that is good info. So is it fair to say then the question I need to ask is "What is the SOAP endpoint URL for my service?"

      And ith that answer my code would be as below?

      my $service = SOAP::Lite ->uri('http://localhost/' ) ->proxy('http://localhost/', timeout => 5 ) ->service('http://localhost/SOAPsvc?wsdl' );
Re: SOAP::Lite service timeout?
by Anonymous Monk on May 16, 2013 at 07:16 UTC