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.
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.
Sie können den Inhalt der Anfrage auf einfache Weise im Controller abrufen:
%Vor%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: