15.5 SOAP-Anfragen ohne ein WSDL-Dokument senden

Problem

Sie möchten eine SOAP-Anfrage senden. Allerdings steht Ihnen keine WSDL-Beschreibung des SOAP-Diensts zur Verfügung, und Sie müssen die Anfrage von Hand ausführen.

Lösung

Verwenden Sie die SOAP-Erweiterung von PHP 5, übergeben Sie anstelle einer WSDL-URL hier null sowie weitere Parameter und rufen Sie den Dienst über die __soapCall()-Methode des SoapClient-Objekts auf. Hier sehen Sie einen Ausschnitt aus einem Client-Programm, das den SOAP-Dienst von Google verwendet:

$client = new SoapClient(null, array( 'location' => 'http://api.google.com/search/beta2', 'uri' => 'urn:GoogleSearch', 'style' => SOAP_RPC, 'use' => SOAP_ENCODED ) ); $params = array( new SoapParam('XXXXXXXXXXX', 'key'), new SoapParam('php5', ...

Get PHP 5 Kochbuch, Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.