Heim > Artikel > Backend-Entwicklung > PHP implementiert einen Webservice (auf Aufrufbarkeit durch C# und Java getestet)
Dieser Artikel teilt Ihnen die Implementierung eines Webservices in PHP mit (getestet, um in C# und Java aufrufbar zu sein). Freunde in Not können sich darauf beziehen
Verwenden Sie PHP, um einen Webservice in anderen Sprachen zu erstellen B. C# und JAVA. Die verfügbaren Webservice-Methoden unterscheiden sich von den meisten im Internet beschriebenen Webservices, die mit PHP erstellt wurden. Wenn die Eingabe- und Ausgabeparameter der Schnittstelle relativ komplex sind, wird empfohlen, die Eingabe- und Ausgabeparameter direkt in einer XML-Zeichenfolge oder Json-Zeichenfolge zu vereinheitlichen. Der Schwerpunkt liegt hier auf der Implementierung eines Webservices und der Funktionsweise von XML-Strings. Sie können viel suchen, sollten jedoch auf die Filterung und Überprüfung achten Parameter für XML und JSON. In diesem Artikel wird der Webservice mit der WSDL-Datei vorgestellt. Die No-WSDL-Methode ist relativ einfach und wird hier nicht vorgestellt.
Zuerst müssen Sie die Soap-Erweiterung aktivieren. Das heißt, php.ini Entfernen Sie das Semikolon vor extension=php_soap.dll in der Datei und starten Sie Apache neu. Überprüfen Sie, ob Soap in PHPInfo aktiviert ist. Die spezifische Vorgehensweise wird hier übersprungen. Für die Implementierung des Webservice ist eine SOAP-Erweiterung erforderlich.
Die WSDL-Datei, die durch die PHP-Methode zur Erstellung von WSDL online generiert wurde, kann nur von PHP verwendet werden, also lassen Sie sich nicht länger täuschen. Hier verwenden wir also eine Kurve, um das Land zu speichern und WSDL-Dateien zu generieren. Erstellen Sie zunächst einen Webservice über C#, um WSDL zu generieren, und verwenden Sie ihn dann mit nur geringfügigen Änderungen.
1. Neues Projekt-> ASP.NET-Webanwendung erstellt ein Projekt;
2.b ->Wählen Sie Web Service (ASMX) für das neue Element.
3. Beachten Sie, dass [WebMethod] vor der zu veröffentlichenden Funktion hinzugefügt werden muss C#, das auch einige neue Klassen enthalten kann:
4. Drücken Sie nach dem Schreiben Strg+F5, um Folgendes anzuzeigen. Nach dem Hinzufügen von ?wsdl URL, die WSDL wird wie unten gezeigt angezeigt, speichern Sie sie einfach unter.
5. Ändern Sie den Speicherort in
6. PHP-Schreib-Webservice-Schnittstelle:
7
Beachten Sie, dass die Webdienstmethode bei der Deklaration höchstens einen Parameter haben kann. Beim Aufruf der Methode müssen Sie jedoch zwei Parameter übergeben, Wert1 und Wert2. (Das ist sehr verwirrend. Ich verstehe, dass das System beim Aufrufen dieser Methode alle Parameter in ein Objekt einfügt und es übergibt.) Auch der Rückgabewert ist etwas ganz Besonderes, anstatt $arry direkt zurückzugeben, fügen Sie ihn in ein Objekt ein und geben ihn zurück. Der Schlüsselwert im Rückgabewert entspricht dem Namen in wsdl.
<?php /** * Created by PhpStorm. * User: Damon * Date: 2018/1/26 * Time: 11:16 */ //引入自动加载 require __DIR__ . '/vendor/autoload.php'; $wsdlfile='MESWebService.wsdl';//wsdl文件路径 $webserver = new \SoapServer($wsdlfile); $webserver->setClass(\Src\MESWebService::class); $webserver->handle();Verwenden Sie C# zum Testen von Aufrufen1. Neues Projekt->ASP.NET-Webanwendung erstellt ein Projekt, genau wie zuvor;
3. Geben Sie die Adresse des veröffentlichten Webservice-Dienstes in die URL ein. Wenn das folgende Bild nach Drücken der Eingabetaste korrekt angezeigt wird, ändern Sie den Web-Referenznamen entsprechend Ihren Anforderungen und klicken Sie auf Referenz hinzufügen:
4. Klicken Sie dann mit der rechten Maustaste auf das Projekt->Hinzufügen->Neu-Element, wählen Sie das Webformular aus und bearbeiten Sie den Inhalt der .aspx.cs-Datei.
5.e. Drücken Sie abschließend Strg+F5, um die entsprechende Ausgabe anzuzeigen, wie in der Abbildung gezeigt unten, Beschreibung Der von PHP implementierte Webservice kann in C# korrekt aufgerufen werden.
Verwandte Empfehlungen:
php implementiert die Abfrage von MySQL und das Caching in Redis Methode
PHP-Methode zum Implementieren von Socket
php implementiert das Testen von var_dump- und echo-Ausgabe-Multivariablen
Das obige ist der detaillierte Inhalt vonPHP implementiert einen Webservice (auf Aufrufbarkeit durch C# und Java getestet). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!