Удаленный вызов функции с использованием SOAP :: Lite - PullRequest
0 голосов
/ 29 июня 2010

Я пытаюсь написать клиентское приложение на Perl, используя SOAP :: Lite.Я пытаюсь вызвать определенную функцию, но я не могу понять параметры правильно.Я продолжаю получать ответ: «Найдено больше элементов в мыльном конверте, чем требуется WSDL», но больше информации нет.

Есть ли способ в SOAP :: Lite напрямую определить параметры, необходимые для удаленного вызова процедуры?

Спасибо.

1 Ответ

1 голос
/ 30 июня 2010

Я использовал комбинацию чтения WSDL и выгрузки SOAP::Lite объектов, так как я мог их изготовить.

Ниже приведен способ, которым я смог получить доход от SOAP::Lite. Имейте в виду, что я работаю над некоторыми ошибками в SOAP::Lite, избегая вызова SOAP::Schema::load и избегая неприязни SL к более чем одной определенной службе в 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 );

Большинство переменных, которые не определены выше, являются вещами, которые вы должны будете предоставить.

...