我正在访问从perl脚本托管在IIS中的Web服务。我有一个服务方法,它返回一个字符串数组。我无法阅读服务的回复。通过使用Dumper我打印了服务返回的响应,在那里我可以看到数组值,但我无法访问数组值。如何访问从Web服务方法返回的thr数组值。
调用perl中的方法:
my $method2 = SOAP::Data->name('getCustInfo')->attr({xmlns => 'http://tempuri.org/'});
my @param=(SOAP::Data->name(custId=>$custid));
my $response1= $soap->call($method2=>@param);
print $response1;
print Dumper $response1;
@result11=$response1->result;
print Dumper $response1;
$i=-1;
foreach my $result(@result11)
{
++$i;
print $result[$i];
}
以上我用来访问该方法的代码,我正在尝试打印它但它没有正常工作:HASH(0x3a84518)$ VAR1 = undef;
问题是什么。
谢谢,
阿维纳什
答案 0 :(得分:0)
在知道响应之前,请检查是否发生了呼叫。
使用严格; 使用警告;
use SOAP::Lite +trace=>"debug"; # it debugs whether the connection is set or not
my ($soap,$proxy,$uri);
eval {
$soap = new SOAP::Lite
proxy=>$proxy,
uri=>$uri;
};
if ( $@ ){
print " Service Down\n";
}
对于soap调用,它需要代理,而uri请在eval中检查它们是否可访问。