2017-10-13 1 views
1

Ich versuche, eine WS SOAP-XML-Antwort auf JSON-Format zu konvertieren, aber ich habe den folgenden Fehler:Fehler beim Konvertieren SOAP-XML-Antwort auf JSON

error: ballerina.lang.errors:Error, message: failed to get xml payload: failed to parse xml: com.ctc.wstx.exc.WstxParsingException: Illegal processing instruction target ("xml"); xml (case insensitive) is reserved by the specs. 

Ich denke, es liegt daran, dass die Antwort beginnt mit :

<?xml version="1.0" encoding="UTF-8"?> 
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap...."> 

Gibt es eine Möglichkeit, die erste Zeile zu entfernen? Dann könnte ich XmlToJSON verwenden. Derzeit

Dank

Antwort

1

Ich glaube, das wie in https://github.com/ballerinalang/ballerina/issues/3601

das gleiche Problem ist, gibt es keine Möglichkeit, die erste Zeile zu entfernen, ohne zu XML zu konvertieren. Aber ich nehme an, dass Sie diesen Fehler bekommen.

Die obige XML-Deklarationszeile (<?xml version="1.0"...>) wird jedoch nur hinzugefügt, wenn die Nutzdaten erstellt wurden, bevor sie als XML abgerufen wurden. Gibt es in Ihrem Code einen Platz, an dem die Antwort in eine Zeichenfolge konvertiert wird (z. B. über die Methode req.getStringPayload()), bevor die Nutzdaten als XML abgerufen werden? Eine Problemumgehung besteht darin, dies zu beseitigen oder die Payload als XML als erstes zu erhalten.

Dieses Problem wird jedoch in der kommenden Version behoben werden.

Verwandte Themen