Hallo,
ich habe eine Frage zu SOAP::Lite.
Und zwar geht es um Abfragen an openligadb.de.
Das dort angegebene Beispiel in php funktioniert einwandfrei (nur um sicherzustellen, dass die Daten überhaupt da sind):
############ php #######################
<?php
$options = array('encoding' => 'UTF-8',
'connection_timeout' => 5,
'exceptions' => 1,
);
$location = 'http://www.OpenLigaDB.de/Webservices/Sportsdata.asmx?WSDL';
try
{
$client = new SoapClient($location, $options);
$params = new stdClass;
$params->MatchID = 9998;
$response = $client->GetMatchByMatchID($params);
}
catch (SoapFault $e)
{
die($e->faultcode . ': ' . $e->faultstring);
}
catch (Exception $e)
{
die($e->getCode() . ': ' . $e->getMessage());
}
print_r($response->GetMatchByMatchIDResult);
############ php #######################
Nun in Perl:
############ perl #######################
use strict;
use warnings;
use SOAP::Lite;
use Data::Dumper;
my $soap = SOAP::Lite->new();
my $client = $soap
->soapversion('1.2')
->outputxml('true')
->service('http://www.OpenLigaDB.de/Webservices/Sportsdata.asmx?WSDL');
print Dumper($client->GetMatchByMatchID(9998));
############ perl #######################
Das liefert leider eine leer Datenstruktur (im Gegensatz zur obigen php-Lösung). Methoden, die keine Parameter erfordern, funktionieren dagegen perfekt.
Was mache ich falsch?
Danke für jeden Hinweis!