簡體   English   中英

如何在wso2 ESB中使用xslt中介器?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM