Heim >Backend-Entwicklung >PHP-Problem >So rufen Sie die PHP-Soap-Methode auf

So rufen Sie die PHP-Soap-Methode auf

藏色散人
藏色散人Original
2021-11-30 11:27:163645Durchsuche

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.

So rufen Sie die PHP-Soap-Methode auf

Wie rufe ich die PHP-Soap-Methode auf?

Soap unter PHP aufrufen, um Docking zu realisieren

Der Implementierungsprozess des SOAP-Aufrufs unter PHP5

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.

1. Grundkonzepte

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.

2. Konfiguration unter PHP5

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 Datentypen

Nur die in __getFunctions aufgeführten Schnittstellen können von Soap aufgerufen werden.

Erstellen Sie den Code „soap.php“ im Stammverzeichnis

extension=php_soap.dll

Nachdem Sie ihn im Browser ausgeführt haben: http://localhost/soap.php, lautet das Rückgabeergebnis wie folgt
<?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;
}
?>

Es gibt eine Methode „introductAcceptedBusinessByStandardInterface(string $xmlStr)“, Welches wird das Entwicklungsdokument sein? Die im Parameter erwähnte zu verwendende Schnittstelle ist eine XML-Zeichenfolge

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 ab

Dieser 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 Inhalt

Array(
    [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[]
)

Im Browser ausführen Kehren Sie anschließend zu

<?php
header("content-type:text/html;charset=utf-8");try {    $client = new SoapClient(&#39;http://***.*******.com/services/AcceptedBusiness?wsdl&#39;);    $xml = "
    <?xml version=&#39;1.0&#39; encoding=&#39;UTF-8&#39; ?>
    <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(&#39;Exception:&#39;.$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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Was bedeutet -= in PHP?Nächster Artikel:Was bedeutet -= in PHP?