Originaltext: http://blog.csdn.net/painstaker/article/details/5870515
NuSoap ist ein WebService-Programmiertool in der PHP-Umgebung. Es wird zum Erstellen oder Aufrufen von WebService verwendet. Es ist vollständig in der PHP-Sprache geschrieben und besteht aus einer Reihe von PHP-Klassen, die SOAP-Nachrichten über HTTP senden und empfangen. Es wurde von der NuSphere Corporation (http://www.nusphere.com/) entwickelt.
Sein Vorteil besteht darin, dass keine Unterstützung von Erweiterungsbibliotheken erforderlich ist. Diese Funktion macht es in allen PHP-Umgebungen verwendbar und wird nicht von den Serversicherheitseinstellungen beeinflusst.
1. Gehen Sie zunächst zu http://sourceforge.net/projects/nusoap/, um nusoap-0.9.5.zip herunterzuladen, entpacken Sie es und legen Sie den lib-Ordner im selben Ordner wie Ihren ab WebService-Programmverzeichnis, z. B. /WebService/lib.
2. Server: Erstellen Sie die Datei nusoapService.php.
require_once("lib/nusoap.php");
$server =
neuer soap_server;
//Verstümmelte Zeichen vermeiden
$server->soap_defencoding =
'UTF-8';
$server->decode_utf8 =
false;
$server->xml_encoding =
'UTF-8';
$server->configureWSDL('sayHello');//OffenwsdlSupport
/*
Registrieren Sie ein Programm, auf das der Client zugreifen muss
Geben Sie den entsprechenden Wert ein: bool->"xsd:boolean"
string->"xsd:string"
int->"xsd:int" float->"xsd:float"
*/
$server->register(
'sayHallo',
//Methodenname
Array("name"=>"xsd:string"),
// Parameter, der Standardwert ist "xsd:string"
array("return"=>"xsd:string")
);// Rückgabewert, der Standardwert ist "xsd:string"
Überprüfen Sie, ob die Variable ist gesetzt
$HTTP_RAW_POST_DATA
= isset($HTTP_RAW_POST_DATA) ?
$HTTP_RAW_POST_DATA :
'';
//Service Prozessdateneingabe durch den Kunden $server->service($HTTP_RAW_POST_DATA);
/** *
Methoden zum Aufrufen * @param $name
*/
Funktion sayHello($name) { return "Hallo, {$name}!"; }?>Hinweis: 1.Der Dateicode kann keine Ausgabe haben , Andernfalls wird beim Aufruf ein Fehler ähnlich dem folgenden gemeldet:
): Reservierter XML-Name 2.
sollte in der Form UTF-8 vorliegen
KeineBOMFormat wird gespeichert, andernfalls führt der Clientaufruf zu einem Fehler. 3.
Client: Erstellen Sie die Datei
nusoapClient.php. require_once("lib/nusoap.php") ; /*
Rufen Sie WebService über WSDL
< auf 🎜>Parameter1 WSDLDie Adresse der Datei(wsdl< nach das Fragezeichen 🎜>Darf nicht in Großbuchstaben geschrieben werden)
Parameter2 Geben Sie an, ob WSDL < verwendet werden soll 🎜> $client = new Soapclient('http://localhost/WebService/nusoapService.php?wsdl',true); >
neuer
soapclient('http://localhost/WebService/nusoapService.php'); $client->soap_defencoding =
'UTF-8'; $client->decode_utf8 =
false; $client->xml_encoding =
'UTF-8'; //Die Parameter werden in Array-Form konvertiert und übergeben $paras=array('name'=> 'Bruce
Lee'); //Wenn die Zielmethode keine Parameter hat, können die folgenden Parameter weggelassen werden $result=$client->call('sayHello', $paras); //Überprüfen Sie den Fehler und erhalten Sie den Rückgabewert if (!$err=$client->getError() )
{ echo "Ergebnisse zurückgeben: ",$result;
} else { echo "Aufruffehler: „,$err;
}?>Hinweis: verwendet nusoap, um
WebService zu implementieren , Aktivieren Sie nicht die phpSOAP-Erweiterung
Das Obige stellt vor, wie man einen Webservice mit PHP-Nusoap erstellt und aufruft, einschließlich des Inhalts. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.