我需要使用一些配置設置來將消息轉換爲Smooks調解器。例如,我想在轉換過程中將基礎URL注入到傳出xml的屬性值中。Smooks調解器的WSO2 ESB定製屬性
在Java中,我會通過將Bean添加到ExecutionContext中來實現。看着SmooksMediator代碼,我沒有看到這個。我可以做些什麼,或者我應該擴展並重新編譯SmooksMediator以提供MessageContext屬性?
我需要使用一些配置設置來將消息轉換爲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