in reply to Re^2: Web services client in Perl
in thread Web services client in Perl

You get the warning that $result is not initialized when you run this code?
If not, what errors are you getting?
Also, it would help to enable debug so that you can see what is going on behind the scenes.
Do so by use SOAP::Lite +trace => qw(method trace debug);. Run the script from the command line and check the output.

Replies are listed 'Best First'.
Re^4: Web services client in Perl
by sshahar1 (Initiate) on Jan 10, 2008 at 09:20 UTC

    The previous reply was made by me, I didn't notice that I was logged out
Re^4: Web services client in Perl
by Anonymous Monk on Jan 10, 2008 at 09:12 UTC

    Hi

    I made some progress I found that Soap::Lite supports rpc/encoded style/encoding only and my WSDL is Document/Literal. So now I'm using SOAP::WSDL
    http://search.cpan.org/~mkutter/SOAP-WSDL-2.00_28/lib/SOAP/WSDL.pm
    The code is as follows
    use SOAP::WSDL; print "<HTML>\n"; print " <TITLE>CGI perl web services client</TITLE>\n"; print "<br>"; my $soap = SOAP::WSDL->new( wsdl => 'http://localhost:8080/MyCalculatorServer/CalculatorWSService? +wsdl' ); $soap->wsdlinit() || die("Can't init"); $som = $soap->call( "getUnitCageSlot", "iFIndex" => 1234); print "result is: ", $som; print "</br>\n"; print "</HTML>\n";

    I'm getting the error:

    Error processing WSDL: can't find the path '/definitions/types/xsd:schema/xsd:element@name="getUnitCageSlot"/xsd:complexType/descendant::xsd:element'

    But all my elements have the prefix of xs and not xsd, so I'm exploring what I can do about that, I thought I'll try change the WSDL.pm to check for xs instead of xsd just to see if it would work but it's not working for me right now.

    I hope my "revelation" about Soap::Lite and Soap::WSDL would at least help other web services beginners like me. :-)