1

我正在尝试将 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。

谢谢

4

1 回答 1

1

我相信这与https://github.com/ballerinalang/ballerina/issues/3601中的问题相同

目前,没有办法在不转换为 XML 的情况下删除第一行。但我认为这就是你得到那个错误的地方。

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

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

于 2017-10-17T04:31:30.523 回答