当前位置: 首页 > 知识库问答 >
问题:

WSO2 Enterprise Integrator V6.1.1-更新24当JSON具有数组时将JSON转换为XML时出错

江天宇
2023-03-14

几天前,我们切换到WSO2 Enterprise Integrator版本6.1.1-update24,具有输入有效负载(JSON with array)的服务现在会出现以下错误:

<?xml version="1.0" encoding="UTF-8"?>
<api context="/utility" name="UtilityAPI" xmlns="http://ws.apache.org/ns/synapse">
    <resource methods="POST" url-mapping="/testjsonarray">
        <inSequence>
            <sequence key="inTestJsonArraySeq"/>
        </inSequence>
        <outSequence/>
        <faultSequence/>
    </resource>
</api>
<?xml version="1.0" encoding="UTF-8"?>
<sequence name="inTestJsonArraySeq" trace="disable" xmlns="http://ws.apache.org/ns/synapse">
    <log description="logInTest">
        <property name="sequence" value="inTestJsonArraySeq"/>
    </log>
    <payloadFactory description="pfJsonArrary" media-type="xml">
        <format>
            <myPayload xmlns="">$1</myPayload>
        </format>
        <args>
            <arg evaluator="json" expression="$.myArray"/>
        </args>
    </payloadFactory>
    <respond description="respOut"/>
</sequence>
{
    "myArray" : ["element1", "element2", "element3"]
}

注意1:使用WSO2 Enterprise Integrator V6.1.1(无更新),我们不会遇到此错误,endpoint对上述有效负载的响应与预期相同:

<myPayload>
    <jsonElement>element1</jsonElement>
    <jsonElement>element2</jsonElement>
    <jsonElement>element3</jsonElement>
</myPayload>

在研究抛出错误的类时,我们注意到synapse-commons库的版本发生了变化,从synapse-commons2.1.7.wso2v15.jar(WSO2EI v6.1.1)到synapse-commons2.1.7.wso2v44.jar(WSO2 v6.1.1-update24)在{WSO2EI_HOME}/WSO2/components/plugins/下。这可能是WSO2给你们的一条线索。

共有1个答案

甄越
2023-03-14

您的目标是将json数组转换为XML,

  <property name="messageType" scope="axis2" type="STRING" value="application/xml"/>

希望能有所帮助。

 类似资料:
  • 问题内容: 我想转换下面的数组 转换为XML格式或JSON。有人可以帮忙吗? 问题答案: 这适用于关联数组。

  • 问题内容: 我目前正在使用Newtonsoft将一些xml转换为json,以从RestExtension返回。 我的xml格式为 我将其转换为json 如果有多个项目,则可以正常工作。 我得到这个-json中的项目数组(这是我需要的): 但是,当只有一个时,可以这样转换(而不是数组): 正在阅读此内容的我的应用程序开发人员需要json返回一组项,无论是否存在一个或多个。 有没有办法欺骗它,以为它是

  • E/AndroidRuntime:FATAL EXCEPTION:主进程:com.example.ahsan.ethlon2,PID:11641java.lang.NumberFormatExcture:对于输入字符串:"" 在java.lang.Integer.parseInt(Integer.java:608) 在java.lang.Integer.parseInt(Integer.java:

  • 问题内容: 我试图将JSON输出转换为XML。不幸的是我得到这个错误: JSON根对象具有多个属性。根对象必须具有单个属性才能创建有效的XML文档。考虑指定DeserializeRootElementName。 这就是我到目前为止所创建的。 这是我的JSON输出: 我怎么解决这个问题? 问题答案: 尽管问题中提供的JSON并不完整,但您在顶层具有多个属性,如异常所示。您必须为其定义根以获取有效的X

  • 问题内容: 我有一个包含几个整数的数组。我已经向数组添加了一些值,但是现在我需要通过jQuery的方法将此数组发送到页面。如何将其转换为JSON对象进行发送? 问题答案: 向后兼容的脚本:https : //github.com/douglascrockford/JSON- js/blob/master/json2.js 并致电: 注意: JSON对象现在是大多数现代Web浏览器(IE 8及更高版

  • 问题内容: 我有一个从包含重复密钥的数据库中获取的JSON字符串。我想通过将重复键的值组合到数组中来删除重复键。 例如 输入项 输出量 实际数据是一个可能嵌套的大文件。我不会提前知道有多少对。 我需要为此使用Java。org.json由于重复的键而引发异常,gson可以解析该字符串,但是每个重复的键都会覆盖最后一个。我需要保留所有数据。 如果可能的话,我想不编辑任何库代码就这样做 问题答案: 从今