In der dritten Woche meines neuen Jobs arbeite ich seit mehr als drei Jahren an .Net, und plötzlich machte ich während der Arbeit an PHP eine scharfe Kurve und schwebte mit einer Geschwindigkeit von 180 Meilen pro Stunde um die Ecke
Aufgrund der Datenintegration müssen wir PHP verwenden, um WCF im Projekt aufzurufen
Ich bin verwirrt, es gibt nur sehr wenige relevante Informationen im Internet. Ich habe einen Beitrag auf phpChina gepostet, aber noch hat niemand geantwortet. Es scheint, dass der Bloggarten mein Zuhause für immer ist
Vielen Dank an Meister Dudu für seine unermüdliche Antwort und Hilfe. Danke==========Das Folgende ist der Text================
Die Verwendung von PHP zum Aufrufen von WCF ist sehr einfach. Für den gesamten Vorgang sind nur zwei Wörter erforderlich. Vorsicht
1. Vorbereitung:
1.soap.dll
Überprüfen Sie, ob ext im PHP-Installationspaket
php_soap.dll vorhanden ist [Es wird automatisch von PHP integriert und ist normalerweise vorhanden. Wenn es nicht vorhanden ist, können Sie es online herunterladen]
2. Ändern Sie die php.ini-Datei
Nachdem Sie den ersten Schritt bestätigt haben, fahren Sie mit der Suche nach der PHP-Konfigurationsdatei fort. Da jede Umgebung anders ist, verwenden einige beispielsweise eine integrierte Entwicklungsumgebung und installieren sie mit einem Klick
Einige Schüler installieren sie separat, daher kann der Speicherort von php.ini unterschiedlich sein. Der Ansatz besteht derzeit darin, phpinfo() zum Anzeigen von zu verwenden
Nachdem Sie die Datei gefunden haben, öffnen Sie sie,
Gefunden
;extension=php_soap.dllDiese Zeile, dann entfernen Sie das vorangehende Semikolon.
Wenn Sie diese Zeile nicht finden, machen Sie sich keine Sorgen, Sie können sie auch manuell hinzufügen.
3. Starten Sie Apache neu
2. WCF anrufen
Nach Abschluss der oben genannten 123 Schritte sind unsere Vorbereitungen abgeschlossen und der nächste Schritt besteht darin, den Code zu schreiben
Gehen Sie davon aus, dass jeder WCF kennt und über Grundkenntnisse in PHP verfügt
1. Veröffentlichen Sie ein WCF für einen Anruf
Im Folgenden sind zwei WCF-Methoden aufgeführt
öffentliche Zeichenfolge SayHello()
{
return „Hello World“;
}
{
return „Sie haben Folgendes eingegeben:“ value;
}
$wcfURL = 'http://192.168.3.102/Service1.svc?wsdl';//[Dies ist die Adresse von WCF]
$wcfClient = new SoapClient ( $wcfURL );
print_r ( $result1 );
echo $result1->SayHelloResult;//Hier sind SayHello-Ergebnisse zusammengeschrieben, ich kenne den genauen Grund nicht
stdClass-Objekt ( [SayHelloResult] => Hello World )
Hallo Welt
Die erste Methode wurde erfolgreich aufgerufen
Wir rufen weiterhin Methoden mit Parametern auf
Zu diesem Zeitpunkt müssen Sie den WCF-Testclient verwenden, um WCF zu testen
Siehe meine ursprüngliche WCF-Methode, der Parameter ist GetData(string value), und t wird hier angezeigt. Dies liegt daran, dass ein Kollege es für mich geschrieben hat. Er war faul und hat GetData( direkt beim Definieren geschrieben ). Für diese Faulheit habe ich für volle 10 Minuten viel Code bezahlt!
Details-Link: http://q.cnblogs.com/q/71331/
Das Folgende ist der geänderte PHP-Code
$args = array('t' => '312'); $wcfClient->GetData($args);<br>echo $result->GetDataResult;<br>echo '<br>';<br>print_r ( $result );
sein
Sie haben Folgendes eingegeben: 312stdClass Object ( [GetDataResult] => Sie haben Folgendes eingegeben: 312)
Nochmals vielen Dank, dudu
Das Folgende ist ein Referenzartikel: http://blog.csdn.net/love__coder/article/details/6067611
http://www.cnblogs.com/tianbang/archive/2012/05/07/2489149.html
Oben wurde eine Zusammenfassung des PHP-Aufrufs von WCF vorgestellt, einschließlich einiger Aspekte des Inhalts. Ich hoffe, dass sie für Freunde, die sich für PHP-Tutorials interessieren, hilfreich sein wird.