Heim >Backend-Entwicklung >PHP-Problem >So rufen Sie die PHP-Soap-Methode auf
php-Soap-Methodenaufruf: 1. Öffnen Sie „php_soap.dll“ in der php.ini-Datei. 2. Fragen Sie die Webdienstmethoden, Parameter und Datentypen ab. 4. Fügen Sie die XML-Zeichenfolge hinzu Der Browser führt einfach den Code aus.
Wie rufe ich die PHP-Soap-Methode auf?
Soap unter PHP aufrufen, um Docking zu realisieren
In diesem Artikel wird die Entwicklung einer iPhone 6-Handy-Reservierungsschnittstelle eines Unternehmens als Beispiel verwendet, um den Implementierungsprozess des SOAP-Aufrufs unter PHP5 vorzustellen.
SOAP (Simple Object Access Protocol). ) Simple Object Access Protocol ist ein einfaches Protokoll zum Austausch von Informationen in einer dezentralen oder verteilten Umgebung. Es ist ein XML-basiertes Protokoll. Es besteht aus vier Teilen: Der Umschlag definiert eine Beschreibung des Inhalts der Nachricht. Was, wer hat es gesendet, wer sollte es akzeptieren und verarbeiten und den Rahmen für die Verarbeitung von SOAP-Kodierungsregeln (Kodierung). Regeln), die zur Darstellung von Instanzen von Datentypen verwendet werden, die Anwendungen verwenden müssen; SOAP-RPC-Darstellung (RPC Darstellung), die ein Protokoll für Remote-Prozeduraufrufe und -Antworten darstellt; SOAP-Bindung, die zugrunde liegende Protokolle zum Austausch von Informationen verwendet.
WSDL (Web Service Description Language) beschreibt XML WSDL, das Standard-XML-Format für Webdienste, wird von Entwicklern wie Ariba, Intel, IBM und Microsoft vorgeschlagen. Es definiert die relevanten Vorgänge und Nachrichten, die von einem bestimmten Webdienst gesendet und empfangen werden, auf abstrakte Weise, unabhängig von bestimmten Sprachen. Per Definition kann man sich WSDL noch nicht als Objektschnittstellen-Definitionssprache vorstellen. Anwendungsarchitekturen wie CORBA oder COM verwenden beispielsweise Objektschnittstellen-Definitionssprachen. WSDL bleibt protokollneutral, verfügt jedoch über eine integrierte Unterstützung für die Bindung an SOAP und stellt so eine untrennbare Verbindung mit SOAP her. Wenn ich in diesem Artikel WSDL bespreche, gehe ich davon aus, dass Sie SOAP als Kommunikationsprotokoll verwenden.
Obwohl SOAP und WSDL zwei wichtige Standards für Webdienste sind, sind sie nicht unbedingt miteinander verbunden und können unabhängig voneinander verwendet werden. Die Beziehung zwischen ihnen ähnelt der Beziehung zwischen HTTP und HTML. Ersteres ist ein Protokoll und letzteres ist eine Beschreibung eines Webservers.
Suchen Sie in der PHP-Konfigurationsdatei php.ini, entfernen Sie das „;“-Zeichen und starten Sie dann den Webdienst neu. und Datentypen
Die Auftragseingabeschnittstelle eines Telekommunikationsunternehmens in der Provinz ist http://***.******.com/services/AcceptedBusiness?wsdl
Wir verwenden die Methoden __geunctions() und __getTypes() von SoapClient zum Anzeigen der Schnittstellenmethoden, Parameter und Datentypenextension=php_soap.dll
<?php header("content-type:text/html;charset=utf-8");try { $client = new SoapClient("http://***.******.com/services/AcceptedBusiness?wsdl"); print_r($client->__getFunctions()); print_r($client->__getTypes()); } catch (SOAPFault $e) { print $e; } ?>
Darüber hinaus erwähnen einige Schnittstellen die SoapHeader-Authentifizierung, die das Hinzufügen der __setSoapHeaders-Methode erfordert. Weitere Informationen finden Sie unter http://php.net/manual /zh/ Soapclient.setsoapheaders.php
Viertens: Senden Sie die Bestellung abDieser Schritt besteht darin, die XML-Zeichenfolge gemäß dem Entwicklungsdokument zu verbinden und sie dann als Parameter von „introductAcceptedBusinessByStandardInterface“ zu übergeben. Erstellen Sie „acceptedbusiness.php“ mit Folgendem InhaltArray( [0] => ArrayOf_xsd_anyType introduceAcceptedBusiness(string $c3, string $c4, string $linkman, string $linknum, string $num, string $idcard, string $remark, string $address) [1] => ArrayOf_xsd_anyType introduceAcceptedBusinessByAiZhuangWei(string $subname, string $linkphone, string $idcard, string $address, string $businesstype, string $marketcode, string $surveycode, string $commanager, string $commanagerphone, string $bendiwang, string $fenju, string $zhiju, string $remark) [2] => string introduceAcceptedBusinessByStandardInterface(string $xmlStr) [3] => string introduceAcceptedBusinessByCallOut(string $xmlStr) [4] => string introduceAcceptedBusinessByYddj(string $xmlParam) [5] => ArrayOf_xsd_anyType queryAcceptedBusinessByAiZhuangWei(string $surveycode, string $starttime, string $endtime) [6] => string queryCallOutOrderByConfig(string $xmlParam) )Array( [0] => anyType ArrayOf_xsd_anyType[] )
<?php header("content-type:text/html;charset=utf-8");try { $client = new SoapClient('http://***.*******.com/services/AcceptedBusiness?wsdl'); $xml = " <?xml version='1.0' encoding='UTF-8' ?> <PACKAGE> <C3>**电信</C3> <C4></C4> <LINKMAN>张三</LINKMAN> <LINKNUM>13412341234</LINKNUM> <LINKADDRESS>广东深圳</LINKADDRESS> <REMARK>iPhone 6</REMARK> <CHANNEL></CHANNEL> <GRIDCODE>1111111111111111111111111111111</GRIDCODE> <AGENTCODE>2111</AGENTCODE> <KEY>1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111</KEY> </PACKAGE> "; $return = $client->introduceAcceptedBusinessByStandardInterface($xml); print_r($return); } catch (SOAPFault $e) { print_r('Exception:'.$e); } ?>
empfohlenem Lernen zurück: „
PHP-Video-Tutorial
Das obige ist der detaillierte Inhalt vonSo rufen Sie die PHP-Soap-Methode auf. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!