元素用於定義synapse**服務。
通過基礎axis2引擎在指定的傳輸上建立和公開**服務,根據標準的axis2約定(即基於服務名稱)公開服務epr。
請注意,目前axis2不允許為某些傳輸(如http / s)上的服務設定自定義uri。
**服務可以通過所有已啟用的axis2傳輸(如http,https,jms,mail和file等)或可選的「transports」屬性指定的子集上公開。
預設情況下,如果未指定此屬性,synapse將嘗試在所有已啟用的傳輸上公開**服務。
在群集設定中,可能需要在可用節點的子集上部署特定**服務。
這可以使用'pinnedservers'屬性來實現。
此屬性採用伺服器名稱列表。
在伺服器啟動時,synapse將檢查當前主機的名稱是否與此屬性中給出的任何名稱匹配,如果找到匹配項,則僅部署**服務。
從系統屬性「synapseservername」中選擇伺服器主機名,否則將使用該機器的主機名或缺省為「localhost」。
使用者可以使用以下命令啟動伺服器,為synapse伺服器例項指定更有意義的名稱。
./synapse.sh -servername=<預設情況下,建立**服務時,會將其新增到與**服務同名的axis服務組。servername
>
使用'servicegroup'屬性可以進一步配置此行為。
可以使用「servicegroup」屬性為**服務指定自定義axis服務組。
這樣,多個**服務可以在axis2級別組合在一起,從而大大簡化了服務管理任務。
每個服務都可以將接收到的訊息的目標定義為命名序列或直接端點。
**配置需要目標insequence或endpoint,目標outsequence定義應如何處理響應。
提供的任何ws-policies都將作為服務級別策略應用,並且可以使用'parameter'元素(例如jms目標等)將任何服務引數傳遞到**服務的axisservice例項。
如果**服務應啟用ws-reliable messaging或security,則應使用相應的模組,並應用指定的服務級別策略。
要使用所需的模組,可以使用'enablesec'和'enableaddressing' elements
可以通過將**的屬性指定為動態條目來定義動態**,方法是使用金鑰引用它們。
例如,可以使用遠端金鑰指定insequence或端點,而無需在本地配置中定義它。
隨著遠端登錄檔項的更改,**的屬性將相應地動態更新。
(注意:**服務定義本身不能指定為動態;即錯誤)
可以使用'publishwsdl'元素發布**服務的wsdl。
可以通過指定「key」屬性從登錄檔載入wsdl文件,也可以通過指定「uri」屬性從任何其他位置載入wsdl文件。
或者,wsdl可以作為「publishwsdl」元素的子元素內聯提供。
wsdl匯入的工件(模式或其他wsdl文件)可以通過指定適當的「資源」元素從登錄檔中解析。
<在此示例中,使用金鑰「my.wsdl」從登錄檔中檢索wsdl。publishwsdl
key
=「my.wsdl」>
=「 key =「standard.wsdl」/>
>
它從位置''匯入另乙個wsdl。
synapse將從登錄檔項「standard.wsdl」中檢索匯入的wsdl,而不是從此位置載入它。
下面列出了一些在編寫複雜**服務時很有用的眾所周知的引數。
這些可以使用'parameter'標籤包含在**配置中。
下表列出了可以傳遞到**服務配置的一些傳輸特定引數。
WSO2 ESB XML定義語法(3)
通過synapse調解的每條訊息都可以具有一組關聯的屬性。synapse引擎和底層傳輸在處理的每條訊息上設定了許多屬性,使用者可以操縱這些屬性來修改訊息流的執行時行為。此外,使用者可以在訊息上設定他自己的屬性,這在管理訊息流狀態和儲存特定於場景的變數時非常有用。例如,在某些情況下,使用者可能希望在處...
WSO2基礎ESB架構分析
1 應用程式傳送一條訊息給transport 2 訊息通過 message pipe 傳送到執行地點 3 訊息的transport和routing沒有明顯的區別 1 tranprots 主要負責傳輸格式化之後的訊息。協議包括 http soap vfs協議。2 message builders 把某...
德語語法2
一 名詞 特點 1 德語名詞任何時候都須大寫,即首位字母大寫,這在全世界語言中是唯一的現象。2 德語名詞有性 數 格的區別。所謂 性 是說名詞有陽性 中性和陰性的區分 所謂 數 即單數 複數 所謂 格 是指德語名詞在句子中表示其語法成分的不同形式。德語的名詞有四個格,即第一格 第二格 第三格和第四格...