使用SOAP :: Lite的远程函数调用

问题描述:

我正在尝试使用SOAP :: Lite在Perl中编写客户端应用程序。我想调用一个特定的函数,但我似乎无法得到正确的参数。我不断收到回复说:“在SOAP信封中发现的元素超出了WSDL的要求”,但除此之外没有更多信息。使用SOAP :: Lite的远程函数调用

SOAP :: Lite有没有什么方法可以直接找出远程过程调用所需的参数?

谢谢。

我通过阅读WSDL并倾销SOAP::Lite对象的组合导航,因为我可以制造它们。

以下是我能够从SOAP::Lite中获得回报的方式。请记住,我正在通过避免SOAP::Schema::load调用来解决SOAP::Lite中的一些错误,并避免SL在WSDL中不喜欢WSDL中定义的多个服务,它会嘲笑你。

use strict; 
use warnings; 
use Data::Dumper qw<Dumper>; 
use SOAP::Lite; # trace => 'all'; # <- trace can help 

my $schema = SOAP::Schema->new(schema_url => $destination_URL)->parse(); 
my $services = $schema->services(); 
my $defintion; 
foreach my $service (values %$services) { 
    $definition = $service->{$method_name}; 
} 

print Dumper($definition); 

上面没有定义的大部分变量都是你必须提供的东西。