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

3649RE: [soaplite] Quick question -- Simple Fault handling

Expand Messages
  • Paul Kulchenko
    Jun 7, 2004
    • 0 Attachment
      on_fault should be called BEFORE ->result():

      > $soap_response= SOAP::Lite
      > -> uri('<URI of the service>')
      > -> proxy('http://address_here')
      -> on_fault(sub { my($soap, $res) = @_;
      die ref $res ? $res->faultstring :
      $soap->transport->status, "\n";
      })
      > -> methodName()
      > -> result
      ;

      Paul.

      --- "Chen, Li Ye (Research)" <chenl@...> wrote:
      > Hmm...I've tried the code below as well, but it turns out that the
      > compiler
      > does't like it:
      >
      > "Can't call method "on_fault" on unblessed reference at
      > perl_client_fault.pl
      > line
      > 19."
      >
      > Is on_fault an actual method under SOAP::Lite module?
      >
      > Thanks!
      >
      > -----Original Message-----
      > From: YU Fan [mailto:fanyu_ca@...]
      > Sent: Saturday, June 05, 2004 9:24 PM
      > To: Mitchell, Louise M; chenlyc7; soaplite@yahoogroups.com
      > Subject: RE: [soaplite] Quick question -- Simple Fault handling
      >
      >
      > A simpler way:
      >
      > $soap_response= SOAP::Lite
      > -> uri('<URI of the service>')
      > -> proxy('http://address_here')
      > -> methodName()
      > -> result
      > -> on_fault(sub { my($soap, $res) = @_;
      > die ref $res ? $res->faultstring :
      > $soap->transport->status, "\n";
      > });
      >
      >
      > -Yu
      >
      >
      > --- "Mitchell, Louise M" <Louise.Mitchell@...>
      > wrote:
      > > if ($response->fault)
      > > {
      > > die $response->faultstring;
      > > }
      > > else
      > > {
      > > my $result = $response->result;
      > > return $result;
      > > #my %result = %{$response->result};
      > > #print map("$_: @{[$result{$_} || '']}\n", keys
      > > %result), "\n";
      > > }
      > >
      > > -----Original Message-----
      > > From: chenlyc7 [mailto:chenl@...]
      > > Sent: Friday, June 04, 2004 11:08 AM
      > > To: soaplite@yahoogroups.com
      > > Subject: [soaplite] Quick question -- Simple Fault
      > > handling
      > >
      > >
      > > Hi,
      > > I'm trying to get our perl client to handle a
      > > very simple Fault
      > > message from the server that has the following
      > > format:
      > >
      > >
      > > <?xml version="1.0" encoding="UTF-8"?>
      > > <soapenv:Envelope
      > >
      > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
      > > xmlns:xsd="http://www.w3.org/2001/XMLSchema"
      > >
      > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      > > <soapenv:Body>
      > > <soapenv:Fault>
      > >
      > >
      > <faultcode>soapenv:Server.generalException</faultcode>
      > > <faultstring>A sample fault message
      > > here...</faultstring>
      > > <detail>
      > > <string>A sample fault message here...</string>
      > > </detail>
      > > </soapenv:Fault>
      > > </soapenv:Body>
      > > </soapenv:Envelope>
      > >
      > > how would one be able to retrieve the strings in
      > > faultstring and detail
      > > tags if the hypothetical client had the following
      > > code:
      > >
      > > $soap_response= SOAP::Lite
      > > -> uri('<URI of the service>')
      > > -> proxy('http://address_here')
      > > -> methodName(SOAP::Data->name(arg0 =>
      > > \@arg0stuff),
      > > SOAP::Data->name(arg1 => \@arg1stuff),
      > > SOAP::Data->name(arg2
      > > =>\@arg2stuff))
      > > -> result;
      > >
      > > ? I am new to this and would like to quickly setup
      > > an example for perl
      > > to handle simple faults as described above.
      > >
      > > Thanks in advance!
      > >
      > >
      > >
      > >
      > >
      > > Yahoo! Groups Links
      > >
      > >
      > >
      > >
      > >
      > >
      >
      >
      >
      >
      >
      > __________________________________
      > Do you Yahoo!?
      > Friends. Fun. Try the all-new Yahoo! Messenger.
      > http://messenger.yahoo.com/
      >
      >
      > ------------------------ Yahoo! Groups Sponsor
      > --------------------~-->
      > Yahoo! Domains - Claim yours for only $14.70
      > http://us.click.yahoo.com/Z1wmxD/DREIAA/yQLSAA/W6uqlB/TM
      >
      --------------------------------------------------------------------~->
      >
      >
      >
      > Yahoo! Groups Links
      >
      >
      >
      >
      >
    • Show all 7 messages in this topic