[英]How to use xslt mediator in wso2 ESB?
我有一個存儲在本地條目中的xslt。 我將響應xml保存在一個屬性中。 我如何使用應該從local-entry中獲取xslt的xslt介體,而xslt介體應該從屬性中獲取xml,並且轉換結果應該存儲在屬性中。 如何實現呢?
我已經使用xslt中介器實現了轉換,並且能夠使用發送中介器顯示該數據,但是我想知道如何將轉換后的數據存儲在屬性中 ? 在這方面急需解決方案。 請幫忙。 期待您的回答? 提前致謝
我的順序是:
<sequence>
<property xmlns:ns="http://org.apache.synapse/xsd" name="propertyResponse" expression="$body"/>
<xslt key="TransformResponseXML"/>
<send/>
</sequence>
我的$ body是:
<soapenv:Body xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<reg_Collection xmlns="http://tempuri.org">
<Inputs>
<ID>Book_112</ID>
<Description>Name for Registeration of new Books</Description>
</Inputs>
</reg_Collection>
</soapenv:Body>
我的最終輸出響應是:
<InputResponse xmlns="http://tempuri.org">
<ID>Book_112</ID>
<Description>Name for Registeration of new Books</Description>
</InputResponse >
現在,我能夠將轉換后的xml顯示為輸出。 我只想將此回復存儲在媒體中介器中。
另一種選擇是使用擴展介體將轉換后的消息主體轉儲到屬性。 為此,您可以在XSLT中介程序配置之后使用以下配置代碼段。
<enrich>
<source type="body"/>
<target type="property" property="PROPERTY_NAME"/>
</enrich>
注意:“ PROPERTY_NAME”應替換為要將消息轉儲到的屬性的名稱。
希望這可以幫助!
問候,Prabath
您可以使用屬性介體[1]存儲它。 為屬性介體提供轉換后的消息的XPATH操作。 存儲XML消息摘錄時,請使用類型“ OM”。 (如果你需要存儲的完整的身體使用$身體和與之相似采用適當的XPATH如果你只需要一個部分。 http://docs.wso2.org/wiki/display/ESB451/Synapse+XPath+Variables#SynapseXPathVariables-body )
[1] http://docs.wso2.org/wiki/display/ESB460/Property+Mediator
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.