Ich habe Probleme beim Erstellen einer Anfrage an diese WSDL, die funktioniert; es benötigt authHeaders und ich habe nicht viel Glück sie hinzuzufügen. Das ist, was ich versuche:Hinzufügen von AuthHeader zu Perl SOAP :: Lite-Anforderung
# make proxy for the service
my $soap = SOAP::Lite->service($wsdl);
# add fault hanlder
$soap->on_fault(
sub { # SOAP fault handler
my $soap = shift;
my $res = shift;
# Map faults to exceptions
if(ref($res) eq '') {
die($res);
}
else {
die($res->faultstring);
}
return new SOAP::SOM;
}
);
# authentication request headers
my @headers = (
SOAP::Header->name('user')->value('[email protected]')->uri($apins),
SOAP::Header->name('password')->value('mypassword')->uri($apins),
SOAP::Header->name('appName')->value('TestApp')->uri($apins),
SOAP::Header->name('appVersion')->value('0.02')->uri($apins)
);
# request method
print $soap->getCompanyInfo('NB', @headers);
Die Antwort, die ich erhalten, wenn dies zu tun ist:
String-Wert anstelle von SOAP :: Header-Referenz erwartet
Die Methode, die ich anfordernden bin zwei String-Parameter , beide optional. Und Vorschläge?
Danke, das hat mir geholfen. – pojo
Sie haben gesagt: "Um die Aufrufmethode zu verwenden, müssen Sie einen Proxy (Endpunkt) für Ihr Soap-Objekt definieren." Wie kann ich einen Proxy für mein Soap-Objekt definieren? bitte geben Sie den Code – Raheel
Raheel, es ist in der Soap-Konstruktor - Beispiel 'my $ soap = SOAP :: Lite-> Proxy ($ url);' – Patrick