Im Folgenden wird beispielhaft die die Methode „fetchMandators“ des Webservice aufgerufen, welche eine Auflistung der auf dem System verfügbaren Mandanten zurückgibt: |
<?php ini_set('soap.wsdl_cache_enabled',1); ini_set('soap.soap.wsdl_cache_ttl', 600); $wsdl_url = "https://localhost/services/ecs-ws?wsdl";
/* 1. Anlegen der Klasse „RequestType“, die später mit den Request-Daten befüllt wird. */
class RequestType { public $requestData; }
/* 2. Parameter befüllen */
$options = array(); $option['location'] = 'https://localhost/services/ecs-ws?wsdl' $options['login'] = 'webservice'; $options['password'] = 'changeMe'; $options['soap_version'] = SOAP_1_2; $options['trace'] = 1; $options['classmap']['fetchMandators'] = 'RequestType';
/* 3. Request befüllen und Soap-Client anlegen */
$rData = new RequestType; $rData->requestData = '<?xml version="1.0" encoding="UTF-8"?> <request method="fetchMandators" version="1.0.0"></request>';
$soapclient = new SoapClient($wsdl_url,$options);
/* 4. Request an Methode übergeben und diese aufrufen */
try { $result = $soapclient->fetchMandators($rData); } catch (SoapFault $e) { echo 'Fehler: ', $e->getMessage(), "\n"; } ?>
/* 5. Browserausgabe */
<h1>Result</h1> <pre> <?php var_dump($result)?> </pre> <h1>Request</h1> <pre> <?php echo htmlentities($soapclient->__getLastRequest()); ?> </pre> |
Der im Beispiel angegebene Endpoint benutzt eine gesicherte Verbindung per https. In der Konfigurationsdatei "php.ini" gibt es einen Schlüssel "openssl.cafile", dessen Wert auf den Zertifikatsspeicher für PHP verweist. Ist dieser Eintrag nicht vorhanden, so muss er eingetragen werden, z.B. openssl.cafile="C:\php\bin\curl-ca-bundle.crt". |
Der WSDL-Beispiellink zeigt auf localhost. Bitte entsprechend den Link anpassen, falls sich Speed4Trade CONNECT nicht auf dem selben PC befindet. |