2013-03-20 67 views
2

我需要使用一些配置設置來將消息轉換爲Smooks調解器。例如,我想在轉換過程中將基礎URL注入到傳出xml的屬性值中。Smooks調解器的WSO2 ESB定製屬性

在Java中,我會通過將Bean添加到ExecutionContext中來實現。看着SmooksMediator代碼,我沒有看到這個。我可以做些什麼,或者我應該擴展並重新編譯SmooksMediator以提供MessageContext屬性?

回答

3

對於輸入彷彿是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