【问题标题】:WSO2 ESB custom properties for Smooks mediatorSmooks 调解器的 WSO2 ESB 自定义属性
【发布时间】:2013-03-20 02:44:23
【问题描述】:

我需要使用一些配置设置来使用 Smooks 中介转换消息。例如,我想在转换过程中将基本 URL 注入到传出 xml 的属性值中。

在 Java 中,我会通过将 bean 添加到 ExecutionContext 来实现。查看 SmooksMediator 代码,我没有看到这一点。我可以以某种方式做到这一点,还是应该扩展和重新编译 SmooksMediator 以提供 MessageContext 的属性?

【问题讨论】:

    标签: wso2 wso2esb smooks


    【解决方案1】:

    对于作为 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"/>
    

    并将它们适当地用作模板中的 $email 和 $name。

    <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

    【讨论】:

    • 作为替代方案,我们使用 Enrich mediator 将 2 个 xml 文档“粘合”在一起并在 Smooks 中处理它们...
    • 太棒了!那也行。
    【解决方案2】:

    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

    谢谢, 佛法

    【讨论】:

      猜你喜欢
      • 2016-01-01
      • 1970-01-01
      • 2015-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多