Habe Antwort von Martin:
QuoteIch würde empfehlen, den Request "von Hand" zusammenzubauen:
use SOAP::Lite +trace;
my $soap = SOAP::Lite->new();
$soap->proxy('http://dev.iban-bic.com/Riban/soap2/');
my @params = (
SOAP::Data->name('params')->value(
\SOAP::Data->name('item')->value([
SOAP::Data->name('key')->value('country'),
SOAP::Data->name('value')->value('DE'),
])
),
SOAP::Data->name('user')->value('foo'),
SOAP::Data->name('password')->value('bar')
);
my $result = $soap->call('get_form', @params);
Das liefert wenigstens ein Ergebnis.
Zu beachten für weiter
- die meisten SOAP::Lite-Objekte (wie SOAP::Data) haben automatische
Konstruktoren und geben immer $self zurück. D.h.
my $param = SOAP::Data->name('foo')->value('bar)
ist das gleiche wie
my $param = SOAP::Data->new();
$param->name('foo');
$param->value('bar');
... fand der ursprüngliche Autor damals cool.
- Der Parameter für SOAP::Data->value($param) muss immer eine
Referenz sein - entweder eine Array-Referenz [] oder eine Referenz auf
ein Objekt (daher die komische Schreibweise \SOAP::Data->name(...)
oben).
Teste ich heute Abend mal ausführlich.
10 print "Hallo"
20 goto 10