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> 

[1] http://docs.wso2.org/wiki/display/ESB460/XSLT+Mediator

+2

作为替代,我们使用富民调解员 '粘' 在一起的2个XML文档和Smooks中... – adnecs 2013-03-26 06:59:55

+0

伟大进程他们!这也是可以的。 – 2013-03-26 08:06:23

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