Unerwünschte Zeichenfolgen am Anfang und am Ende einer SOAP-Antwort in PHP SoapClient angehängt

8

Ich führe den folgenden PHP-Code aus, während ich versuche, eine Anfrage von einem SOAP-API-Server zu bekommen

%Vor%

Alles, was ich bekam, war der Antwortcode "sieht aus, als ob wir kein XML-Dokument hätten".

Aber als ich die Variable $ Lastresponse im catch-Block betrachtete, fand ich sie wie folgt:

------=_Part_1134075_393252946.1482317378966 Content-Type: application/xop+xml; charset=utf-8; type="text/xml" <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Header/> <SOAP-ENV:Body> ......all valid data ... </SOAP-ENV:Body> </SOAP-ENV:Envelope> ------=_Part_1134075_393252946.1482317378966--

Hinweis: Die $ options-Parameter, die ich verwende, sind:

%Vor%

Obwohl ich eine Problemumgehung zum Parsen der XML-Datei gemacht habe, hat jemand eine Vorstellung von diesen zusätzlichen ----- Teil-Bits? Gibt es etwas, was ich falsch mache?

    
Ashok Poudel 21.12.2016, 12:20
quelle

3 Antworten

5

Diese -----Part sachen werden in hier Begrenzungen in mehrteiligen Nachrichten genannt und in RFC2387 .

Nach einer Untersuchung scheint es, dass SoapClient nicht in der Lage ist, mehrteilige Nachrichten zu analysieren, weshalb Sie diese Ausnahme erhalten haben.

Die Lösung besteht darin, SoapClient zu erweitern, um den XML-Inhalt mit Regex- oder anderen String-Funktionen zu extrahieren. Hier ist ein Beispiel aus dieser Seite :

%Vor%     
Rei 27.12.2016, 17:11
quelle
2

Sie werden aufgefordert, die Abfrage unter

zu verwenden %Vor%     
Nishant Nair 31.12.2016 14:23
quelle
2

Sie haben eine Ausnahme:

  

SoapClient :: SoapClient () erzeugt einen E_ERROR-Fehler, wenn die Optionen location und uri nicht im Nicht-WSDL-Modus bereitgestellt werden.

     

Eine SoapFault-Ausnahme wird ausgelöst, wenn der wsdl-URI nicht geladen werden kann.

    
Ravshan Abdulaev 02.01.2017 17:02
quelle

Tags und Links