when I am using upgrade version of perl (ofcourse, also upgrade version of soap::lite) so I successfully connect to my server with all needed methods. when I moved using older perl version (ofcourse, also older version of soap::lite), so envelope created differently, and I did not success invoke server methods which got params well. Is there need change something in code or only in modules? I开发者_运维问答f change can be done thru code, so which thing I need to change. for now my code look like:
my $ws_url = '$url';
my $ws_uri = '$uri';
my $ws_xmlns = '$xmlns';
eval
{
my $soap = SOAP::Lite
-> uri( $ws_uri)
-> on_action(sub{sprintf '%s', @_})
-> proxy($ws_url,timeout => 15);
my @params = ( SOAP::Data->name(Add => "$paramAdd"));
$response = $soap->EndUnit(@params);
if($response->fault)
{
# die raises an exception
print "=======fault happened=====\n";
die $response->faultstring;
}
else
{
print $response->result;
print "\n";
}
};
if ($@)
{
print "$@\n";
print "Failed \n";
};
Thanks a lot ahead for your help! Noa :-)
Take a look at the changes between the versions of SOAP::Lite you are using : Changes
Also, you shold list what versions of Perl and SOAP::Lite you are talking about ..
精彩评论