2016-11-25 41 views
0

是有可能實現與WSO2 ESB以下概念:WSO2 ESB - 它可以支持橋接web服務和MQ消息的概念嗎?

  • HTTP監聽用於與方法web服務被調用(SOAP)
  • Java例程處理消息
  • 同一例程把消息發送到MQ隊列Q1
  • 相同程序來從MQ隊列Q2得到應答消息
  • 回用處理答覆消息,Web服務調用者

或者最好是使用J2EE服務器並通過Java代碼完全處理消息傳遞部分?

此致尼古拉

回答

0

那麼現在usecase更清晰了,以便我們可以繼續實施它。有兩種方法可以做到這一點。

第一種方法

  1. 寫代理(HTTP到JMS)服務,它接受的HTTP請求和 地方它在使用JMS發送JMS Q1。
  2. 然後編寫另一個代理(JMS to JMS),它從 中挑選JMS Q1的消息,對其進行處理並將其置於JMS Q2中。
  3. 最後,創建另一個代理(JMS to HTTP),以從 獲取來自JMS Q2的消息,並使用響應介體將其發送回客戶端。

第二種方法

  1. 創建一個代理服務(HTTP到JMS)和使用存儲介體來存儲所述消息到JMS Q1。
  2. 創建一個轉發消息處理器來收聽Q1並選擇該消息,對其進行處理,並將其放入Q2中。
  3. 然後創建另一個轉發消息處理器來偵聽Q2,並使用消息處理器中的回覆序列將其發送回客戶端。

選擇你喜歡的方式,讓我知道它是怎麼回事。

+0

我們打另一個障礙,它看起來像一個必須同一個服務器WSO2 ESB上安裝IBM MQ系列,而不僅僅是與WSO2 ESB通過網絡連接,其中WSO2只是MQ系列客戶端。 – Nikola

+0

這不可能是這種情況。如果兩者都在實施JMS API,他們應該互相投訴。根據正確的連接URL,從字面上看,WSO2 ESB應該連接到運行在遠程機器上的IBM MQ。 –

0

您可以使用ESB來實現此目的。但你的用例對我來說並不那麼清楚。感謝您能否從功能角度解釋您的用例。無論如何,你有ESB的HTTP(S)/ JMS監聽器和發送器。您無法使用ESB偵聽SOAP Web服務。你可以做的是聽HTTP流量。創建一個代理,用於偵聽HTTP流量,並將消息發送到JMS隊列Q1,以便使用JMS端點。然後編寫一個JMS監聽器代理來聽取Q2中的答案。一旦收到,您可以使用send或call mediator調用端點Web服務。這就是我對你的用例的理解。由於上面指定的有線需求,我不知道Q1中的數據轉換並將其置於Q2。它看起來很簡單HTTP到JMS切換​​用例給我。

+0

函數式用例如下:1.客戶端應用程序在ESB上調用webservice方法2. ESB轉換XML並在Q1上放置消息(請注意,該方法仍不會將任何值返回給客戶端,TCP會話尚未關閉)。 3. Q1的另一端系統處理消息並將結果XML返回給Q2。 4。ESB應該將來自Q2的傳入XML轉換並作爲調用方法的結果返回(webservice/HTTP偵聽器現在可以關閉TCP會話)。希望這個描述更清楚。基本上同步的Web服務調用應該轉換爲異步put/get消息操作。 – Nikola

相關問題