2015-12-15 25 views
1

WSO2 esb中的Property mediators的操作範圍究竟是什麼?
雖然我已閱讀此標準文檔https://docs.wso2.com/display/ESB490/Property+Mediator。但是操作範圍信息不多。它只是說
操作:該範圍用於檢索操作上下文級別的屬性。

我使用此作用域來訪問迭代器之外的迭代器中介器內的一個屬性集。它運作良好。該代碼是
WSO2 esb中的Property mediators的操作範圍究竟是什麼?

<sequence key="Main"> 
     <iterate xmlns:ns="http://org.apache.synapse/xsd" expression="//source_record_details/source_record" sequential="true"> 
       <target sequence="Loop"></target> 
      </iterate> 
      <sequence key="OutsideLoop"></sequence> 
</sequence> 


在命名循環的順序,我設置屬性X與範圍的操作,我能夠訪問序列OutsideLoop在X的值。但是,如果我將範圍更改爲默認值,我不會得到X的值。
儘管這適用於我,但我正在尋找一些解釋。我希望操作範圍對於當前代理的執行仍然是本地的,並且是線程安全的。

回答

1

根據WSO2 Documentation, 您可以從操作範圍中檢索操作上下文級別的屬性。

具有操作範圍的迭代/克隆消息中的屬性將依次保存,即使您已配置要在故障存在時通過故障序列發送的API資源。

具有操作範圍的給定屬性僅存在於單個請求中,並且可以由單個資源訪問。當FORCE_ERROR_ON_SOAP_FAULT屬性設置爲true時,此作用域中的屬性將傳遞給錯誤處理程序

+0

這也是非常安全的線程安全,根據文檔 –

+0

https://docs.wso2.com/display/ESB481/Generic+Properties #GenericProperties-SOAPfault還說當響應中發生SOAP錯誤時,默認情況下,從後端發送的SOAPFault作爲常規響應由out序列接收。如果此屬性設置爲true,則SOAPFault將重定向到故障序列。請注意,當此屬性爲true時,只有「操作」作用域中的屬性將傳遞給錯誤處理程序,而axis2或默認作用域中的其他屬性不會傳遞給錯誤處理程序。 –