【发布时间】:2014-05-15 05:39:47
【问题描述】:
我正在使用 wso2esb4.8.0
我希望使用 wso2esb 转换消息。Actaulle 需要将 Complex Element 添加到 Payload
我将如何做到这一点。
我的客户要求是
<?xml version="1.0" encoding="UTF-8"?>
但是我的适配器端点将允许这种格式的请求。如果是针对一个操作,我可能会跟随有效负载调解器来发出我的请求但这些都是一堆请求 所以端点允许请求是
只需提取 Operation_Name 并将其添加为复杂元素但我无法做到这一点我在这样的代理中尝试
代理是
<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
name="SamplePOC7"
transports="https,http"
statistics="disable"
trace="disable"
startOnLoad="true">
<target>
<inSequence>
<property xmlns:open="http://www.openuri.org/"
xmlns:ns="http://org.apache.synapse/xsd"
xmlns:env="http://eai.mmn.mm/Envelope"
xmlns:poin="http://eai.mm.mm/gg"
name="Operation_Name"
expression="//poin:Operation_Name/text()"
scope="default"
type="STRING"/>
<property xmlns:open="http://www.openuri.org/"
xmlns:ns="http://org.apache.synapse/xsd"
xmlns:env="http://eai.mmn.xxxx/Envelope"
name="AddElement"
expression="concat('open:',get-property('Operation_Name'))"
scope="default"
type="STRING"/>
<enrich>
<source xmlns:env="http://eai.mmn.mm/Envelope"
clone="true"
xpath="//env:Payload/*"/>
<target xmlns:poin="http://eai.mm.XXX/gg"
xpath="concat('open:',//poin:Operation_Name/text())"/>
</enrich>
<log level="full">
<property name="Message" expression="get-property('AddElement')"/>
</log>
</inSequence>
<outSequence/>
</target>
<description/>
</proxy>
但它给出的错误如下我的错误日志是
[2014-05-15 10:53:48,167] INFO - ProxyService Successfully created the Axis2 se
rvice for Proxy service : SamplePOC7
[2014-05-15 10:53:53,089] ERROR - EnrichMediator Invalid Target object to be enr
ich.
[2014-05-15 10:54:19,160] INFO - ProxyService Building Axis service for Proxy s
如果您知道粘贴配置或提供任何示例,请按照我的意愿使用哪个调解器提取此请求
提前致谢
【问题讨论】:
标签: xslt xpath wso2 xquery wso2esb