将SOAP-XML响应转换为JSON时出错

时间:2017-10-13 14:42:54

标签: ballerina

我试图将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。

由于

1 个答案:

答案 0 :(得分:1)

我认为这与https://github.com/ballerinalang/ballerina/issues/3601

中的问题相同

目前,如果不转换为XML,就无法删除第一行。但我认为那是你得到那个错误的地方。

但是,只有在将XML作为XML之前构建了有效负载之后,才会添加上述XML声明行(<?xml version="1.0"...>)。在将有效负载作为XML之前,代码中是否有任何地方将响应转换为字符串(例如:via req.getStringPayload()方法)?一种解决方法是消除它,或者首先将有效负载作为XML获取。

此问题将在即将发布的版本中修复。