wso2转换,xml到json转换

Posted

技术标签:

【中文标题】wso2转换,xml到json转换【英文标题】:wso2 conversion, xml to json conversion 【发布时间】:2021-01-30 16:48:06 【问题描述】:

我对 wso2 完全陌生,我需要将给定的输入请求 xml 更改为 json,然后将其发送到适配器,然后在 json 和 xml 中获取响应。这怎么可能??

我正在使用 wso2 集成工作室进行开发。

<Request>
<requestId><![CDATA[11111111111111111]]></requestId>
<timeStamp><![CDATA[2019/12/25 12:12:12]]> </timeStamp>
<msisdn> <![CDATA[888]]></msisdn>
<keyWord><![CDATA[TEST_API]]></keyWord>
<dataSet>
<param>
<id><![CDATA[first_id]]></id>
<value><![CDATA[12310209842396]]></value>
</param>
<param>
<id><![CDATA[second_id]]></id>
<value><![CDATA[1]]></value>
</param>
</dataSet>
</Request>

【问题讨论】:

【参考方案1】:

在中介序列中,您可以使用 messageType 属性指示在将消息发送到适配器时应将其转换为 JSON。并且在返回阶段,您可以再次使用 messageType 属性将消息转换为 XML。

<property name="messageType" value="application/json" scope="axis2"/>

例子:

<?xml version="1.0" encoding="UTF-8"?>
<api name="toJson" context="/tojson" xmlns="http://ws.apache.org/ns/synapse">
    <resource methods="POST">
        <inSequence>
            <property name="messageType" value="application/json" scope="axis2" />
            <send>
                 <endpoint key="adapter"/>   
            </send>
        </inSequence>
        <outSequence>
            <property name="messageType" value="application/xml" scope="axis2" />
            <send />
        </outSequence>
    </resource>
</api>

【讨论】:

你能解释一下这个过程吗?我对此完全陌生。我怎样才能创建这个中介序列?? 我已经用示例编辑了我的答案。检查。如果您在使用 Studio 时需要更多帮助,请查看此博客 medium.com/think-integration/… 所以我们也需要创建一个适配器,对吧??如何使用 wso2 创建适配器?或者我应该为此创建一个普通的 servlet? 我只是将后端端点称为适配器(就像您在问题中所问的那样)。您可以在那里使用任何端点。 (HTTP、JMS、RabbitMQ)。有关 HTTP 示例,请查看我分享的上述博客。

以上是关于wso2转换,xml到json转换的主要内容,如果未能解决你的问题,请参考以下文章

WSO2 DataMapper 将 XML 转换为 SOAP 时出错

如何在 WSO2 中以 XML 格式转换 JSON 消息

WSO2 ESB 无法将完整的 JSON 数据转换为 XML

WSO2 Enterprise Integrator 6.6.0 使用 XSLT 将 XML 响应转换为 Json

WSO2 API Manager将JSON转换为XML(并且失败了请求)

WSO2:wso2中的xml到json数据映射esb:json消息包含在soap信封中