ändern Seife Präfixe in PHP

9

Ich schreibe einen Soap-Web-Service von .net zu PHP um. Standardmäßig gibt mir php Tags, die wie folgt aussehen:

%Vor%

usw. ...

aber ich brauche das:

%Vor%

Das ist ähnlich der Frage hier: PHP UND SOAP. Umschlag wechseln , aber ich möchte es nicht so hacken, wie er es getan hat. Außerdem erstelle ich einen Soap-Service, der von einer bestehenden iPhone-App genutzt wird, ohne PHP zu verwenden, um einen Soap-Service mit SoapClient zu nutzen. Die iPhone App analysiert nur das rohe XML und ich kann die iPhone App jetzt nicht ändern.

    
fregas 28.12.2011, 00:09
quelle

2 Antworten

5

Nach dem Re-Lesen, was Sie wollen, und Durchsuchen der PHP-Dokumentation hier ist meine Lösung und ein paar Annahmen, die ich gemacht habe

Annahmen

  • Wenn Sie Recht haben, wissen Sie, dass das SOAP-Präfix selbst nicht das Problem ist (Sie dürfen jedes Präfix verwenden, solange es konsistent ist).
  • Wir müssen ein Workaround für diese spezielle Iphone-App erstellen, die einen (xml) Parser verwendet, der momentan nicht von Ihnen geändert / aktualisiert werden kann.

Was möchten Sie?

  1. Sie möchten eine native API verwenden, um das SOAP-Präfix
  2. zu ändern
  3. Sie möchten die SoapServer-Antwort abfangen, damit Sie das SOAP-Präfix ändern können, bevor es zurückgegeben wird

Lösung

  1. Gegenwärtig gibt es keine systemeigene SoapServer API-Methode, um das SOAP-Präfix
  2. zu ändern
  3. Sie können die SoapServer-Antwort abfangen und die Antwort entweder per Regex oder XML-Parser verarbeiten, siehe Beispiel unten
%Vor%

Dies sollte den Trick machen, ich habe nicht den Regex-Teil oder den eigentlichen Xlm-Knotenersatz erstellt, aber ich denke, Sie können das selbst tun

    
Cecil Zorg 05.01.2012, 20:22
quelle
0

Wenn Sie keine regulären Ausdrücke verwenden möchten, habe ich diese schnelle Klassenimplementierung durchgeführt, die DomXPath und DomDocument verwendet, um XML zu bereinigen und das Namespace-Attribut auf Knotenebene anzufügen.

%Vor%     
Christophe Eblé 04.01.2012 12:39
quelle

Tags und Links