Erhalten Sie XML von PHP SOAP Server

8

Ich benutze den eingebauten SOAP-Server innerhalb einer symfony2-Anwendung und neben der Behandlung des StdClass-Objekts, müsste ich das komplette XML lesen, das zum Debuggen und Loggen empfangen wurde. Gibt es eine Möglichkeit, das übertragene XML einfach abzufangen? Es sollte irgendwo im Anfrage-Header sein, aber ich kann es dort einfach nicht finden.

    
Sgoettschkes 01.08.2011, 07:10
quelle

2 Antworten

17

Ich habe nach dem gleichen gesucht und es endlich gefunden. Hoffe, das hilft dir oder jemand anderem.

%Vor%

Die Variable $postdata hat das rohe XML. Durch die folgenden zwei Links gefunden:

Ссылка

Ссылка

    
Steve Lindsey 21.10.2011, 15:16
quelle
2

Die Roh-XML, die in einem SOAP-Umschlag übertragen wird, sollte im POST-Hauptteil sein. In einer Symfony-Anwendung können Sie den Hauptteil der POST-Anforderung abrufen, indem Sie ein Request -Objekt erstellen und dessen getContents () -Methode aufrufen.

Innerhalb eines Controllers

Sie können den Inhalt der Anfrage auf einfache Weise im Controller abrufen:

%Vor%

Innerhalb eines Dienstes

Bewährte Methode (für Symfony 2.4+) besteht darin, einen RequestStack in Ihre Serviceklasse innerhalb des Servicebehälters einzufügen. Sie können es als Konstruktorargument für Ihre Serviceklasse verwenden, indem Sie eine Setter-Methode usw. aufrufen. Hier ein kurzes Beispiel, das die Injektion über den Konstruktor verwendet.

In Ihrem Servicebehälter:

%Vor%

Dann in Ihrer Serviceklasse:

%Vor%

Referenzdokumentation:

Ссылка

    
Haig Bedrosian 14.08.2014 20:43
quelle

Tags und Links