如何在wso2 esb中将位置数据转换为xml数据

时间:2016-07-19 15:25:04

标签: xml wso2 esb smooks

我尝试使用smooks mediator但没有运气。

任何人都可以帮助我们在wso2 esb中将位置转换为xml数据的指南或任何代码段。

位置数据:

126164142984982549250 dsadqdsadssfsds 6312654555 456620533 631412478147941949 158465110552332222022 gerjgrengegnsrw 2587566256 785964212 258769651436652365 265784295331333223333 fjkwfweufmnwfvn 6582654257 875662223 698263674123651236

示例预期的xml输出:

<root>
    <input>
        <firtstname></firtstname> (postions 1-20)
        <lastname></lastname>     (postions 21-27)
        <age></age>               (postions 28-35)
        <dob></dob>               (postions 36-46)
    </input>
</root>

1 个答案:

答案 0 :(得分:0)

WSO2 ESB中不支持开箱即用的位置数据。要将位置数据转换为SOAP格式,您需要编写自定义消息生成器。当消息到达WSO2 ESB时,需要根据Axis2引擎的要求构建SOAP消息。但是,这需要根据消息的内容类型完成。

我认为位置数据以文本/普通方式呈现给ESB。在这种情况下,您需要覆盖现有的默认text / plain Builder并使用您自己的实现。

要编写自己的自定义构建器,需要从MessageFormatter [1]扩展构建器,类似于[2]。

要添加自定义构建器,请将以下内容添加到axis2.xml。

<messageBuilder contentType="text/plain" class="<fully qualified path to Builder class>"/>

您可以在[3]找到有关构建器和格式化程序的更多信息。

[1] https://github.com/wso2/wso2-axis2/blob/master/modules/kernel/src/org/apache/axis2/transport/MessageFormatter.java

[2] https://github.com/wso2/wso2-axis2/blob/master/modules/transport/base/src/main/java/org/apache/axis2/format/PlainTextFormatter.java

[3] https://docs.wso2.com/display/ESB490/Working+with+Message+Builders+and+Formatters