Nicht-objektorientierte Programmierer stoßen häufig auf Herausforderungen, wenn sie SOAP-Funktionalität in ihre PHP-Skripte integrieren. Obwohl sie über eine WSDL-Datei verfügen, haben sie möglicherweise Schwierigkeiten mit der richtigen Syntax zum Aufrufen von SOAP-Aufrufen.
Um als Client mit einem SOAP-Dienst zu interagieren, können Sie die SoapClient-Klasse verwenden . Erstellen Sie zunächst eine Instanz von SoapClient mit der URL der WSDL-Datei:
$client = new SoapClient("http://example.com/webservices?wsdl");
Um Informationen zu verfügbaren Funktionen und Typen abzurufen, verwenden Sie:
var_dump($client->__getFunctions()); var_dump($client->__getTypes());
Konzentrieren wir uns nun auf die Erstellung des SOAP-Aufrufs selbst. Angenommen, Sie möchten die Funktion „Funktion1“ mit den folgenden Daten aufrufen:
Das WSDL-Dokument gibt an, dass „Kontakt“ ein komplexer Typ mit zwei Eigenschaften ist: ID und Name.
Um den SOAP-Aufruf mit Ihren gewünschten Daten durchzuführen, Sie müssen die folgende Syntax verwenden:
$params = array( "Contact" => new Contact(100, "John"), "description" => "Barrel of Oil", "amount" => 500, ); $response = $client->__soapCall("Function1", array($params));
Dieser Code erstellt eine neue Instanz der Contact-Klasse mit der angegebenen ID und dem angegebenen Namen. Anschließend fügt es die Anforderungsparameter im Array $params zusammen und ruft den SOAP-Aufruf mit __soapCall auf.
Die Antwort vom SOAP-Dienst wird in der Variablen $response gespeichert. Sie können die Antwort überprüfen, um die Ergebnisse des Anrufs zu erhalten.
Das obige ist der detaillierte Inhalt vonWie verwende ich den SoapClient von PHP zur Integration in SOAP-Webdienste?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!