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

Esteemed Monks,

Right now SOAP::Lite has to be one of my least favourite modules. But I am committed to using it, so here is my latest issue.

This code fragment:

my $submit = { user => $self->{_armthree}->{G_userid}, auth => $enc_password, }; my $submit_xml = XMLout( $submit, KeyAttr => [] ); my $string = undef; eval { $string = SOAP::Lite->uri('http://someplace.com/request')->proxy('http://a +3g.someplace.com/cgi-bin/a3gr_003.cgi') ->_10396($submit_xml)->result; }; if ($@) { # we got an error in sending to SOAP server. debug("In checking ARM-IIIG SOAP server, SOAP::Lite said: $@"); return 0; }
Sends a small XML request to the server, and with no data being retuirned (it is merely echoing the submitted XML) it is taking as long as 4 or 5 seconds - okay, thats fair enough - HTTP, server laods and all taken into account. But this is in a Perl/Tk application and so the GUI stalls for that period.

Is it possible to use SOAP::Lite in some sort of non-blocking mode?

Your grateful supplicant, jdtoronto

Replies are listed 'Best First'.
Re: Blocking issues with Soap::Lite
by Hue-Bond (Priest) on Aug 18, 2006 at 18:08 UTC
    But this is in a Perl/Tk application and so the GUI stalls for that period. Is it possible to use SOAP::Lite in some sort of non-blocking mode?

    The obvious solution I see is using fork or threads.

    --
    David Serrano

      Thanks Hue-Bond,

      What have seen written is that Perl/Tk under Windows is not thread safe. If that has changed then I have something new to go and learn!

      jdtoronto