Perl 基本SOAP::Lite用法

Perl 基本SOAP::Lite用法,perl,web-services,wsdl,soaplite,Perl,Web Services,Wsdl,Soaplite,我在使用最基本的SOAP::Lite示例时遇到问题 最初,我得到一个关于版本不匹配的错误,所以我按照添加了soapversion('1.2') 我不再得到版本错误,而是得到:result=$VAR1='error'我想你想使用一些服务。如果是这样,请使用代理方法,而不是服务。见文件: 代理是客户端要连接的服务器或端点。此方法允许设置端点,以及传输对象在传输请求时可能需要的任何额外信息 此方法实际上是SOAP::Transport代理方法的别名 f2c.pl #!/usr/bin/perl -w

我在使用最基本的SOAP::Lite示例时遇到问题

最初,我得到一个关于版本不匹配的错误,所以我按照添加了
soapversion('1.2')


我不再得到版本错误,而是得到:
result=$VAR1='error'

我想你想使用一些服务。如果是这样,请使用
代理
方法,而不是
服务
。见文件:

代理是客户端要连接的服务器或端点。此方法允许设置端点,以及传输对象在传输请求时可能需要的任何额外信息

此方法实际上是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'
                                         }
        };
但服务方面存在一个普遍问题

result = $VAR1 = {
          'FahrenheitToCelsiusResponse' => {
                                           'FahrenheitToCelsiusResult' => 'Error'
                                         }
        };