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

I'm trying to use soap::lite for the first time, and using some of the basic tutorial client/server pairs, I cannot get anything working. server code:
#!perl -w # -- SOAP::Lite -- guide.soaplite.com -- Copyright (C) 2001 Paul Kulch +enko -- use SOAP::Transport::HTTP; SOAP::Transport::HTTP::CGI -> dispatch_to( 'cgi-bin/dev/soap/', 'Soaper' ) -> handle; package Soaper; sub hi { return "hello, world"; } sub bye { return "goodbye, cruel world"; } sub languages { return ("Perl", "C", "sh"); }
client code:
#!perl -w # -- SOAP::Lite -- guide.soaplite.com -- Copyright (C) 2001 Paul Kulch +enko -- use SOAP::Lite; print SOAP::Lite -> uri('http://foo.example.com/Soaper') -> proxy('http://foo.example.com/cgi-bin/dev/soap/hibye.cgi') -> hi() -> result;
The server is an apache server on Solaris running perl 5.6.1. The client script is located in /opt/dncms/web/cgi-bin/dev/soap/hibye.cgi. Here's the apache error log entry I get when I run the client.
[Mon May 15 14:13:28 2006] [error] (2)No such file or directory: exec +of /opt/dncms/web/cgi-bin/dev/soap/hibye.cgi failed [Mon May 15 14:13:28 2006] [error] [client 130.42.71.204] Premature en +d of script headers: /opt/dncms/web/cgi-bin/dev/soap/hibye.cgi
Does anyone have any suggestions? I haven't found any information on the SOAP::Lite project site, web site, or in the author's book to address this. That leads me to think I might have a non module related problem. Thanks!

Update: t'mo nailed it. I made the mistake of taking the examples too literally. Using #!/usr/bin/perl -w allowed Apache to find the interpreter it needed. I didn't discover this in testing because, of course, perl is in my path. Thanks!

Unconsidered by Corion: Original content is lost.

Edit: g0n - restored original content & marked replacement as update

Replies are listed 'Best First'.
Re: soap::lite roadblock
by t'mo (Pilgrim) on May 16, 2006 at 03:33 UTC
Re: soap::lite roadblock
by Herkum (Parson) on May 16, 2006 at 12:30 UTC

    No such file or directory: exec of /opt/dncms/web/cgi-bin/dev/soap/hibye.cgi failed

    It appears that you are trying to call a script that does not exist. It might be in the wrong location. Try a simple test and get this CGI to run,

    #!/usr/bin/perl print <<END Content-type: text/html Hello world END ;

    If you can get that to run that it is not a directory or file location issue. As for SOAP tutorials I found this tutorial was excellent.

Re: soap::lite roadblock
by Anonymous Monk on May 16, 2006 at 01:23 UTC