Smooks调解器的WSO2 ESB定制属性
问题描述:
我需要使用一些配置设置来将消息转换为Smooks调解器。例如,我想在转换过程中将基础URL注入到传出xml的属性值中。Smooks调解器的WSO2 ESB定制属性
在Java中,我会通过将Bean添加到ExecutionContext中来实现。看着SmooksMediator代码,我没有看到这个。我可以做些什么,或者我应该扩展并重新编译SmooksMediator以提供MessageContext属性?
答
对于输入仿佛是Smooks调解员,我们可以从ESB仅有饲料的一个流。所以如果你想通过注入一个属性来转换一个消息,你不能用smooks中介实现它。
对此[1]使用XSLT介体。配置XSLT介体时,您可以定义要传递到变换的属性。
例如:
<xslt key="orderTransformer">
<property expression="get-property('name')" name="name"/>
<property expression="get-property('email')" name="email"/>
</xslt>
然后XSLT里面,你可以定义两个属性如下,
<xsl:param name="email"/>
<xsl:param name="name"/>
和appropraitely使用它们作为模板,$ email和$名称。
<ns1:email>
<xsl:value-of select="$email"/>
</ns1:email>
<ns1:name>
<xsl:value-of select="$name"/>
</ns1:name>
答
Smooks mediator的整个配置细节可以从[1]中找到。
否则你可以去一个自定义中介来执行你的确切任务。自定义介体的细节可以从[2]中找到。
[1]。 http://wso2.org/library/tutorials/2011/06/perform-data-mapping-smooks-editor-wso2-carbon-studio
[2]。 http://maninda.blogspot.com/2012/11/writing-custom-mediator-for-wso2-esb.html
谢谢 Dharshana
作为替代,我们使用富民调解员 '粘' 在一起的2个XML文档和Smooks中... – adnecs 2013-03-26 06:59:55
伟大进程他们!这也是可以的。 – 2013-03-26 08:06:23