Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Alternative zu Soap? [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Alternative zu Soap?


 
DaSilver
14-05-2008, 16:01 
 
Hallo,

ich habe ein kleines Beispielskript, mit dem ich Ergebnisse von den Fußball-Bundesligaspielen abfragen kann:

$client = new SoapClient("http://www.OpenLigaDB.de/Webservices/Sportsdata.asmx?WSDL");

$params->MatchID =626;

$objectresult = $client->GetMatchByMatchID($params);

echo "<pre>";
print_r($objectresult);
echo "</pre>";

Das funktioniert auf meinem XAMPP auch ganz gut, leider klappt das auf meinem Server bei Strato nicht, weil die Soap Klasse nicht gefunden wird. Es wird die Zeile angemäckert in der ein neuer SoapClient erstellt wird. Bei Strato sagte man mir, dass dieser Dienst auch nicht angeboten wird.

Jetzt suche ich eine Alternative. Wie kann ich diese Daten noch abfragen. Entschuldigt bitte, mit Soap habe ich noch nie etwas gemacht. Gibt es eine Möglichkeit die Daten über eine XML Schnittstelle (auch hier bin ich totaler Anfänger) abzufragen??

Vielen Dank für die Hilfe.

Gruß
Silver

 
onemorenerd
14-05-2008, 16:13 
 
Google mal nach nuSOAP.

 
DaSilver
14-05-2008, 16:54 
 
.. vielen Dank. Das bringt mich weiter ;-)

Gruß
Silver

 
DaSilver
15-05-2008, 12:13 
 
Hallo,

vielen Dank nochmal für den Hinweis. Mein oben gezeigtes Beispiel habe ich ändern können und es funktioniert problemlos.

Jetzt möchte ich mein eigentliches Skript anpassen und habe Probleme mit der Syntax.


$params = array('groupOrderID' => '24', 'leagueShortcut' => 'bl1', 'leagueSaison' => '2007');
$client = new nusoap_client('http://www.OpenLigaDB.de/Webservices/Sportsdata.asmx?WSDL', 'wsdl');
$objectresult = $client->call('GetMatchdataByGroupLeagueSaison', $params);
foreach ($objectresult->GetMatchdataByGroupLeagueSaisonResult->Matchdata as $md)
{

echo $md->matchID.'<br />';
echo $md->matchDateTime.'<br />';
echo $md->groupID.'<br />';
}


Die Zeile:

foreach ($objectresult->GetMatchdataByGroupLeagueSaisonResult->Matchdata as $md)


macht mir zu schaffen, ich weiß nicht, wie ich das Objekt ansprechen soll um auf die Daten: matchID, matchDateTime und groupID zuzugreifen.

Kann mir jemand erklären wie ich meinen Fehler korrigiere?

Gruß
Silver

 
onemorenerd
15-05-2008, 12:17 
 
var_dump($objectresult->GetMatchdataByGroupLeagueSaisonResult);

 
DaSilver
15-05-2008, 13:18 
 
... danke, damit probiere ich jetzt schon eine ganze Weile rum aber ich komme nicht weiter. Ich weiß jetzt zwar, dass ich mit var_dump arrays und verschachtelte arrays auslesen kann, allerdings komme ich bei meiner Ausgabe nicht zum Ziel.

Mit:


$objectresult = $client->call('GetMatchdataByGroupLeagueSaison', $params);

echo "<pre>";
print_r ($objectresult);
echo "</pre>";


kann ich mir jetzt zwar die Daten anzeigen lassen, allerdings hätte ich diese gerne in jeweiligen Variablen stehen, so dass ich diese in eine DB schreiben kann.

Gruß
Silver

 
onemorenerd
15-05-2008, 13:25 
 
var_dump() und print_r() zeigen dir die Struktur der Daten. Jetzt solltest du eigentlich wissen, wie du auf tiefere Elemente zugreifen kannst. Wo ist das Problem?

 
DaSilver
15-05-2008, 13:32 
 
.. das Problem liegt darin, dass weder Struktur noch Daten ausgegeben werden, wenn ich:

var_dump($objectresult->GetMatchdataByGroupLeagueSaisonResult);

benutze.

Stattdessen erhalte ich folgenden Hinweis:

Notice: Trying to get property of non-object in C:\xampplite\htdocs\buli\index.php on line 46
NULL

... entschuldige bitte, das ist für mich Neuland.

Gruß
Silver

 
onemorenerd
15-05-2008, 13:39 
 
"Trying to get property of non-object" heißt, du versuchst auf eine Eigenschaft eines Dings zuzugreifen. Aber nur Objekte haben Eigenschaften und dein Ding ist kein Objekt. Da liegt der Hund begraben - kein Objekt. var_dump($objectresult) zeigt dir, was es wirklich ist.

 
DaSilver
15-05-2008, 14:02 
 
..ok, es ist ein Array. Danke.
Gruß
Silver

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:28 Uhr.