我想你想使用一些服务。如果是这样,您使用 useproxy
方法而不是service
. 请参阅代理文档:
代理是客户端要连接的服务器或端点。此方法允许设置端点,以及传输对象在传送请求时可能需要的任何额外信息。
该方法实际上是 SOAP::Transport 的代理方法的别名
f2c.pl
#!/usr/bin/perl -w
use strict;
# tracing for debugging purposes
# use SOAP::Lite +trace => "debug";
use SOAP::Lite;
use Data::Dumper;
my $service
= SOAP::Lite->proxy('https://www.w3schools.com/xml/tempconvert.asmx?WSDL')
# use on_action cb to override default SOAPAction value
->on_action(
sub {
return join '/', "https://www.w3schools.com/xml", $_[1];
}
);
my $result = $service->FahrenheitToCelsius('212');
# result is an instance of SOAP::SOM
# see https://metacpan.org/pod/distribution/SOAP-Lite/lib/SOAP/SOM.pod
$result->fault && die $result->faultstring;
print "result = " . Dumper $result->body;
perl f2c.pl
显示错误:
result = $VAR1 = {
'FahrenheitToCelsiusResponse' => {
'FahrenheitToCelsiusResult' => 'Error'
}
};
但是FahrenheitToCelsius服务存在一个普遍问题。