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. :-)