0

我正在从 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;
问题是什么。

谢谢,
阿维纳什

4

1 回答 1

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中检查它们是否可访问。

于 2012-04-12T12:44:17.183 回答