2014-03-04 227 views
0

我被分配到使用wso2 esb(4.8.1)來完成簡單的POC,我在wso2esb或其他類型的任何其他方面都沒有任何經驗,並且iam在學習過程中。Axis2/WSO2 ESB - 需要澄清

我的目標是接收來自遠程第三方的二進制數據的TCP數據包,轉換爲SOAP,做一些東西,轉換回二進制文件併發送響應。潛伏在互聯網上,我遇到過如下定義:Builder, MessageFormatter, TransportSender and TransportListener

AFAIK
Builder爲輸入數據轉換爲SOAP
MessageFormatter - 從SOAP轉換出站數據到預期類型
TransportSender - 發送SOAP轉換成預期的類型,通過導線
TransportListener - 從所述線接收請求時,並將其轉換爲SOAP

1)確實的TransportSenderListener做轉換SOAP < - >二進制自己或他們使用不知何故,這四者之間的流動是什麼?

2)運輸工具是否應與建造者/格式器完全分離?

3不重要)登記在axis2.xml BuilderFormatter,我需要指定contetType,這是否意味着它們只適用於HTTP請求?即使它是真的,這對我不利,因爲我期待原始的二進制數據,我將如何爲相同的內容類型註冊兩個單獨的格式化程序/構建器?


UPDATE 1:從here 報價:

傳輸發送方發送根據其 構造SOAP消息。 傳輸接收器等待SOAP消息

是否始終如此?我的意思是,發送者和監聽者僅用於SOAP消息?

回答

2

Axis2是一個Web服務引擎,它通過使用SOAP作爲坐落在各種傳輸之間的規範形式,可以將各種傳輸插入到一起。

在四種類型(發送者/監聽者,構建者/格式器)之間沒有流暢的流動。 TransportListeners將來自線路的傳入消息序列化爲SOAP格式(使用構建器)。 TransportSenders讀取SOAP消息並將其轉換爲傳出線格式,並將其放置在線上(使用格式化程序)。這裏的關鍵是我們可以從一個傳輸器將消息傳入axis2,並在完全不同的傳輸器上發送消息。

將它們全部結合在一起的是消息上下文對象,它跨越各個axis2階段傳遞。

你應該看看Axis2 Architecture guide和一對夫婦的更多的事情以看是可以明確自己使用BuilderFormatter接口。

+0

謝謝,我正在取得進展,但現在我已轉到其他任務,我一定會在一兩天後回到ESB – sv13