0
我正在嘗試使用SOAP :: Lite在Perl中編寫客戶端應用程序。我想調用一個特定的函數,但我似乎無法得到正確的參數。我不斷收到回覆說:「在SOAP信封中發現的元素超出了WSDL的要求」,但除此之外沒有更多信息。使用SOAP :: Lite的遠程函數調用
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);
上面沒有定義的大部分變量都是你必須提供的東西。