Zitat:
|
Hast du einen besseren Webservice zum Üben parat?
|
Nöö, nicht direkt...
Aber ich habe diesen mal untersucht....
1. Er funktioniert
2. es müssen/sollten die nötigen Strukturen geschaffen werden
Abfragen der Fähigkeiten des Service:
PHP-Code:
<?php
error_reporting(-1);
ini_set('display_errors', TRUE);
$wsdl = 'http://www.thomas-bayer.com/axis2/services/BLZService?wsdl';
$soapclient = new SoapClient($wsdl);
?>
<h1>Funktionen</h1>
<pre> <?php var_dump($soapclient->__getFunctions())?> </pre>
<h1>Typen</h1>
<pre> <?php var_dump($soapclient->__getTypes())?> </pre>
Diese Datentypen sollten angelegt werden!
Zumindest muss "getBankType" erzeugt werden.
Warum die Funktion getBank 2 mal auftaucht, KA (ist mir auch erstmal egal)
Also könnte der fertige Code für eine Abfrage in etwa so aussehen:
PHP-Code:
<?php
error_reporting(-1);
ini_set('display_errors', TRUE);
class GetBankType
{
public $blz; // String
}
class GetBankResponseType
{
public $details; // DetailsType
}
class DetailsType
{
public $bezeichnung; // String
public $bic; // String
public $ort; // String
public $plz; // String
}
$options = array();
$options['classmap'] = array();
$options['classmap']['getBankType'] = 'GetBankType';
$options['classmap']['getBankResponseType'] = 'GetBankResponseType';
$options['classmap']['detailsType'] = 'DetailsType';
$wsdl = 'http://www.thomas-bayer.com/axis2/services/BLZService?wsdl';
$bank = new GetBankType;
$bank->blz = "37069521";
$soapclient = new SoapClient($wsdl,$options);
$result = $soapclient->getBank($bank);
// Ausgabe
echo "BLZ: ". $bank->blz ." gehört zu: ". $result->details->bezeichnung;
?>
<h1>Result</h1>
<pre> <?php var_dump($result)?> </pre>