WSO2富集介质

WSO2富集介质,wso2,synapse,Wso2,Synapse,[WSO2 ESB V4.5.0] 我如何配置enrich mediator以积累XML有什么问题?我有一系列n个pojomediator,它们从数据库中检索XML,每个设置一个上下文属性,XML表示为字符串。例如,第一个PojoMediator执行后,其“上下文”属性设置为: customerInformation = <cust><id>1</id><oc></oc><ca>0</ca></cust

[WSO2 ESB V4.5.0] 我如何配置enrich mediator以积累XML有什么问题?我有一系列n个pojomediator,它们从数据库中检索XML,每个设置一个上下文属性,XML表示为字符串。例如,第一个PojoMediator执行后,其“上下文”属性设置为:

  customerInformation = <cust><id>1</id><oc></oc><ca>0</ca></cust>
customerInformation=10
我正试图用XML内容丰富正文,但最终得到:

[snip]
  </header>
&lt;cust>&lt;id>1&lt;/id>&lt;oc>&lt;/oc>&lt;ca>0&lt;/ca>&lt;/cust></root></soapenv:Body></soapenv:Envelope> {org.apache.synapse.mediators.builtin.LogMediator}
[snip]
cust>id>1/id>oc>/oc>ca>0/ca>/cust>{org.apache.synapse.mediators.builtin.LogMediator}
…其中,enrich中介正在转义引用的“custInfo”XML。我的配置是:

<enrich>
    <source type="property" property="custInfo"/>
    <target type="body"/>
</enrich>


是否有方法强制enrich中介将属性(“custInfo”)视为XML片段而不是纯文本?我假设这就是XML被转义的原因,因为中介认为它正在设置节点的内容,而不是指定XML片段。

如何定义属性?你能在加入后再试试吗

type="OM"

将属性设置为type=“OM”,但该属性位于pojoCommand的子属性中,并且似乎不支持type属性。然而,你的评论让我思考,然后我注入了另一个独立的属性中介,从pojoCommand获取结果,并将其分配给type=“OM”messageContext属性,然后在rich中介中使用它,瞧!谢谢你让我想到type=“OM”![snip]正如您引导我发现的那样,只需使用独立属性中介程序,即可应用type=“OM”。