Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Getting soap client/server to work

by jfroebe (Parson)
on Dec 04, 2006 at 21:22 UTC ( [id://587738]=perlquestion: print w/replies, xml ) Need Help??

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

I'm having trouble getting the example code (Quick Start with SOAP) to work with my Apache server. What's odd is that there aren't any errors in the apache error log or STDERR.

I run hibye.pl to connect to my webserver which will run the cgi script hibye.cgi. I don't receive any output with respect to the web app. This has got to be something simple. Yes, the cgi-bin is set up correctly for cgi execution. Normal cgi apps work fine.

I've also added the /var/www/cgi-bin/soap directory to the PERL5LIB environment variable in the /etc/init.d/httpd. Ideas?

output:

./hibye.pl 0.60

hibye.cgi

#!/usr/bin/perl -w # -- SOAP::Lite -- guide.soaplite.com -- Copyright (C) 2001 Paul Kulch +enko -- use SOAP::Transport::HTTP; SOAP::Transport::HTTP::CGI -> dispatch_to('Demo') -> handle; package Demo; sub hi { return "hello, world"; } sub bye { return "goodbye, cruel world"; } sub languages { return ("Perl", "C", "sh"); }

hibye.pl

#!/usr/bin/perl -w # -- SOAP::Lite -- guide.soaplite.com -- Copyright (C) 2001 Paul Kulch +enko -- use SOAP::Lite; print $SOAP::Lite::VERSION . "\n"; print SOAP::Lite ->uri('http://localhost/cgi-bin/soap/Demo') ->proxy('http://localhost/cgi-bin/soap/hibye.cgi') ->hi() ->result; print SOAP::Lite ->uri('http://localhost/cgi-bin/soap/Demo') ->proxy('http://localhost/cgi-bin/soap/hibye.cgi') ->bye() ->result;

Jason L. Froebe

Team Sybase member

No one has seen what you have seen, and until that happens, we're all going to think that you're nuts. - Jack O'Neil, Stargate SG-1

Replies are listed 'Best First'.
Re: Getting soap client/server to work
by gellyfish (Monsignor) on Dec 04, 2006 at 21:30 UTC

    you will get better diagnostics if you do:

    use SOAP::Lite +trace => 'all';

    /J\

      Thanks!

      Looks like I'm getting closer :) A 500 error from apache. hmmm. This should be reported in the /var/log/httpd/error_log but isn't.

      Jason L. Froebe

      Team Sybase member

      No one has seen what you have seen, and until that happens, we're all going to think that you're nuts. - Jack O'Neil, Stargate SG-1

        Figured it out! The URI was wrong! :)

        Working:
        print SOAP::Lite ->uri('http://localhost/Demo') ->proxy('http://localhost/cgi-bin/soap/hibye.cgi') ->hi() ->result;

        Doesn't work:

        print SOAP::Lite ->uri('http://localhost/cgi-bin/soap/Demo') ->proxy('http://localhost/cgi-bin/soap/hibye.cgi') ->hi() ->result;

        Jason L. Froebe

        Team Sybase member

        No one has seen what you have seen, and until that happens, we're all going to think that you're nuts. - Jack O'Neil, Stargate SG-1

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://587738]
Approved by gellyfish
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others scrutinizing the Monastery: (5)
As of 2024-04-18 22:29 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found