Implementierungsprozess für WSDL- und SOAP-Aufrufe unter PHP5
1. Grundkonzepte
SOAP (Simple Object Access Protocol) ist ein einfaches Protokoll zum Austausch von Informationen in einer dezentralen oder verteilten Umgebung. Es ist ein XML-basiertes Protokoll und besteht aus vier Teilen: SOAP envelop (Umschlag), Kapselung Definiert ein Framework, das beschreibt, was In der Nachricht steht, wer sie gesendet hat, wer sie akzeptieren und verarbeiten soll und wie sie verarbeitet werden soll. Die SOAP-Kodierungsregeln werden verwendet, um Instanzen der Datentypen darzustellen, die die Anwendung verwenden muss das Protokoll für Remote-Prozeduraufrufe und -Antworten; die SOAP-Bindung verwendet das zugrunde liegende Protokoll zum Austausch von Informationen.
WSDL (Web Service Description Language) ist das Standard-XML-Format zur Beschreibung von XML-Webdiensten. WSDL wurde 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 nach
extension=php_soap.dll
Entfernen Sie dann das „;“-Zeichen vorne und starten Sie den Webdienst neu
3. Fragen Sie Webdienstmethoden, Parameter und Datentypen ab
Die Auftragseingabeschnittstelle eines Telekommunikationsunternehmens in der Provinz ist http://***.******.com/services/AcceptedBusiness?wsdl
Wir verwenden die Methodenansicht __geunctions() und __getTypes() von SoapClient die Methoden, Parameter und Datentypen der Schnittstelle
Nur die in __getFunctions aufgeführten Schnittstellen können von Soap aufgerufen werden.
Erstellen Sie den Code Soap.php im Stammverzeichnis
<?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; } ?>
Nach dem Ausführen von http://localhost/soap.php im Browser lautet das Rückgabeergebnis wie folgt
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[] )
Es gibt eine Methode „introductAcceptedBusinessByStandardInterface(string $xmlStr), die die im Entwicklungsdokument erwähnte zu verwendende Schnittstelle sein wird, und der Parameter 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
4. Bestellung absenden
In diesem Schritt wird die XML-Zeichenfolge gemäß dem Entwicklungsdokument gespleißt und dann als Parameter von „introductAcceptedBusinessByStandardInterface“ übergeben
, um „acceptedbusiness.php“ mit dem folgenden Inhalt zu erstellen
<?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); } ?>
Nach der Ausführung im Browser geben Sie
zurück
<?xml version="1.0" encoding="UTF-8"?> <PACKAGE> <STATUS>0</STATUS> <REASON>入单成功!</REASON> <ORDERSEQ>2014100905523549742</ORDERSEQ> </PACKAGE>
Referenz: http://www.cnblogs.com/txw1958/p/php5-soap-wsdl.html
Das Obige stellt den Implementierungsprozess von WSDL- und SOAP-Aufrufen unter PHP5 vor, einschließlich verschiedener Aspekte. Ich hoffe, dass es für Freunde hilfreich sein wird, die sich für PHP-Tutorials interessieren.

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Viele Benutzer werden sich bei der Auswahl von Smartwatches für die Marke Huawei entscheiden. Viele Benutzer sind neugierig auf den Unterschied zwischen Huawei GT3pro und GT4. Was sind die Unterschiede zwischen Huawei GT3pro und GT4? 1. Aussehen GT4: 46 mm und 41 mm, das Material ist Glasspiegel + Edelstahlgehäuse + hochauflösende Faserrückschale. GT3pro: 46,6 mm und 42,9 mm, das Material ist Saphirglas + Titangehäuse/Keramikgehäuse + Keramikrückschale 2. Gesundes GT4: Mit dem neuesten Huawei Truseen5.5+-Algorithmus werden die Ergebnisse genauer. GT3pro: EKG-Elektrokardiogramm sowie Blutgefäß und Sicherheit hinzugefügt

Konvertieren Sie grundlegende Datentypen mit der Java-Funktion String.valueOf() in Strings. Wenn wir in der Java-Entwicklung grundlegende Datentypen in Strings konvertieren müssen, ist eine gängige Methode die Verwendung der Funktion valueOf() der String-Klasse. Diese Funktion kann Parameter grundlegender Datentypen akzeptieren und die entsprechende Zeichenfolgendarstellung zurückgeben. In diesem Artikel untersuchen wir, wie die Funktion String.valueOf() für grundlegende Datentypkonvertierungen verwendet wird, und stellen einige Codebeispiele dafür bereit

Methode zum Konvertieren eines char-Arrays in einen String: Dies kann durch Zuweisung erreicht werden. Verwenden Sie die Syntax {char a[]=" abc d\0efg ";string s=a;}, damit das char-Array dem String direkt einen Wert zuweisen und ausführen kann Der Code zum Abschließen der Konvertierung.

Warum das Snipping-Tool unter Windows 11 nicht funktioniert Das Verständnis der Grundursache des Problems kann dabei helfen, die richtige Lösung zu finden. Hier sind die häufigsten Gründe, warum das Snipping Tool möglicherweise nicht ordnungsgemäß funktioniert: Focus Assistant ist aktiviert: Dies verhindert, dass das Snipping Tool geöffnet wird. Beschädigte Anwendung: Wenn das Snipping-Tool beim Start abstürzt, ist es möglicherweise beschädigt. Veraltete Grafiktreiber: Inkompatible Treiber können das Snipping-Tool beeinträchtigen. Störungen durch andere Anwendungen: Andere laufende Anwendungen können mit dem Snipping Tool in Konflikt geraten. Das Zertifikat ist abgelaufen: Ein Fehler während des Upgrade-Vorgangs kann zu diesem Problem führen. Diese einfache Lösung ist für die meisten Benutzer geeignet und erfordert keine besonderen technischen Kenntnisse. 1. Aktualisieren Sie Windows- und Microsoft Store-Apps

Ersetzen Sie Zeichen (Strings) in einem String mit der Java-Funktion String.replace(). In Java sind Strings unveränderliche Objekte, was bedeutet, dass der Wert eines String-Objekts nach der Erstellung nicht mehr geändert werden kann. Es kann jedoch vorkommen, dass Sie bestimmte Zeichen oder Zeichenfolgen in einer Zeichenfolge ersetzen müssen. Zu diesem Zeitpunkt können wir die Methode replace () in der String-Klasse von Java verwenden, um das Ersetzen von Zeichenfolgen zu implementieren. Die Methode replace() der Klasse String hat zwei Typen:

Hallo zusammen, heute werde ich die Grundkenntnisse von Java: String mit Ihnen teilen. Unnötig zu erwähnen, wie wichtig die String-Klasse ist. Man kann sagen, dass sie die am häufigsten verwendete Klasse in unserer Back-End-Entwicklung ist, daher ist es notwendig, darüber zu sprechen.

1. String1 verstehen. Schauen wir uns zunächst den Quellcode der String-Klasse im JDK an. Sie können sehen, dass die String-Klasse nicht geändert werden kann Es gibt keine Unterklasse der String-Klasse, sodass alle Personen, die das JDK verwenden, dieselbe String-Klasse verwenden können Die Verwendung derselben Methode durch zwei verschiedene Personen führt zu unterschiedlichen Ergebnissen, was die Entwicklung des Codes unmöglich macht. Vererbung und Methodenüberschreibung bringen nicht nur Flexibilität, sondern führen auch dazu, dass sich viele Unterklassen unterschiedlich verhalten.

Verwenden Sie die String.length()-Funktion von Java, um die Länge einer Zeichenfolge zu ermitteln. In der Java-Programmierung ist die Zeichenfolge ein sehr häufiger Datentyp. Wir müssen häufig die Länge einer Zeichenfolge ermitteln, dh die Anzahl der Zeichen in der Zeichenfolge. In Java können wir die Funktion length() der String-Klasse verwenden, um die Länge eines Strings zu ermitteln. Hier ist ein einfacher Beispielcode: publicclassStringLengthExample{publ
