Thread WSDL (53 answers)
Opened by bianca at 2010-05-22 16:12

bianca
 2010-05-26 08:31
#137607 #137607
User since
2009-09-13
7016 Artikel
BenutzerIn

user image
Habe Antwort von Martin:
Quote
Ich würde empfehlen, den Request "von Hand" zusammenzubauen:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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

View full thread WSDL