Ошибка преобразования ответа SOAP-XML в JSON

Я пытаюсь преобразовать ответ WS SOAP-XML в формат 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.

Я думаю, это потому, что ответ начинается с:

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

Есть ли способ удалить первую строку? Тогда я мог бы использовать XmlToJSON.

Спасибо


person pedro madrid    schedule 13.10.2017    source источник


Ответы (1)


Я считаю, что это та же проблема, что и в https://github.com/ballerinalang/ballerina/issues/3601

В настоящее время невозможно удалить первую строку без преобразования в XML. Но я предполагаю, что именно здесь вы получаете эту ошибку.

Однако приведенная выше строка объявления XML (<?xml version="1.0"...>) добавляется только в том случае, если полезная нагрузка была создана до ее получения в виде XML. Есть ли в вашем коде место, где ответ преобразуется в строку (например, с помощью метода req.getStringPayload()) перед получением полезной нагрузки в виде XML? Одним из способов обхода является устранение этого или получение полезной нагрузки в виде XML в первую очередь.

Однако эта проблема будет исправлена ​​в следующем выпуске.

person Supun Setunga    schedule 17.10.2017