atomrofler
Lt. Commander
- Registriert
- Mai 2005
- Beiträge
- 1.358
Hallo zusammen,
ich versuche mit perl Daten über einen Webservice abzurufen. (http://www.openligadb.de/Webservices/Sportsdata.asmx)
Laut der Informationen ist die Schnittstelle SOAP 1.2 kompatibel, genau so wie die aktuellen SOAP libs unter Perl. Dennoch bekomme ich einen Versionsfehler beim abrufen der Daten bzw. namespace Probleme.
Ich hoffe auf Ideen.
Grüße
Ausgabe
Code
Man denkt Stundenlang drüber nach, dabei zu offensichtlich.
Die Version muss nachtürlich erst gesetzt werden bevor man die Daten abruft ...
Close.
ich versuche mit perl Daten über einen Webservice abzurufen. (http://www.openligadb.de/Webservices/Sportsdata.asmx)
Laut der Informationen ist die Schnittstelle SOAP 1.2 kompatibel, genau so wie die aktuellen SOAP libs unter Perl. Dennoch bekomme ich einen Versionsfehler beim abrufen der Daten bzw. namespace Probleme.
Ich hoffe auf Ideen.
Grüße
Ausgabe
<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<soap12:Upgrade xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:SupportedEnvelope qname="soap:Envelope" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" />
<soap12:SupportedEnvelope qname="soap12:Envelope" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope" />
</soap12:Upgrade>
</soap:Header>
<soap:Body>
<soap:Fault>
<faultcode>soap:VersionMismatch</faultcode>
<faultstring>Possible SOAP version mismatch: Envelope namespace http://schemas.xmlsoap.org/wsdl/soap/ was unexpected. Expecting http://schemas.xmlsoap.org/soap/envelope/.</faultstring><detail />
</soap:Fault>
</soap:Body>
</soap:Envelope>
Code
use strict;
use warnings;
use SOAP::Lite;
my $soap = SOAP::Lite->new();
my $client = $soap->service('http://www.OpenLigaDB.de/Webservices/Sportsdata.asmx?WSDL');
$client->soapversion('1.2');
$client->outputxml('true');
print $client->GetAvailSports(); # benötigt keine Übergabewerte
Ergänzung ()
Man denkt Stundenlang drüber nach, dabei zu offensichtlich.
Die Version muss nachtürlich erst gesetzt werden bevor man die Daten abruft ...
my $client = $soap
->soapversion('1.2')
->outputxml('true')
->service('http://www.OpenLigaDB.de/Webservices/Sportsdata.asmx?WSDL');
Close.
Zuletzt bearbeitet: