2012-04-01 59 views
5

我正在使用JAX-WS對基於SOAP的Web服務進行一些研究,並且發現瞭解與客戶端有關的部分非常複雜。 如果有人能幫我解釋一些話題,我會很感激。我正在使用一本SOA書和谷歌,但我感到非常困惑,所以這就是爲什麼我想在這裏我可以得到一個更準確的答案,集中在我需要什麼。JAX-WS用於調用Web服務的異步客戶端技術

因此,我們可以以同步和異步的方式與Web服務進行通信。同步通信缺乏雙方必須等待對方,直到處理結束。

異步客戶端會允許我們使用2個編程模型以異步方式溝通:1-回調以及2-輪詢

  • 疑點1:有人可以解釋我在一個簡單的方法有什麼區別,2種型號的利弊(回撥和Pooling)

在談到異步通信我也明白,應該有生產者(Web服務)的方式,找到消費者(客戶端)一旦處理完成了。這就是我們的原因有解決。

  • 疑點二:你能簡單介紹一下如何處理工作?還有如何尋址與回調和輪詢技術相關?

還有一件事。 Dispatch API也令我困惑不已。因爲他們一直在談論動態客戶。

  • 疑點三:如何,如果他們所談論的都是關於動態的客戶端的時間調度API相關的異步通信?
  • 疑問4: Dispatch API(MESSAGE和PAYLOAD)的2種使用模式,用於什麼,以及它們如何與JAXWS的異步通信模型相關?

回答

2
  1. 有人可以解釋我在一個簡單的方法是什麼的2種型號的差異,利弊(回撥和Pooling)

回調:實現不是直線前進。
- 優點:這種方法與投票方法更加優雅/系統化地結合。
- 缺點:客戶端應該有一個機制,以便服務器可以使用回調回調它。

Polling:實施非常簡單。
- 優點:由於它是簡單的技術,它是通用的,即使支持ajax的網頁也可以使用這種技術來檢查請求的更新是否可用。
- 缺點:帶寬的巨大浪費,以及服務器客戶端的時間問題,例如服務器應答多長時間才能響應來自客戶端的輪詢請求尚未到來。

2.Could您簡單介紹一下如何處理工作?還有如何尋址與回調和輪詢技術相關?

尋址使得能夠對web服務來了解這是消息傳送系統,並僅傳輸提供者之間共享的先前的信息。考慮這個用例,最初使用的傳輸方式是HTTP,用於發送請求以及響應。然後,您可能需要更改此傳輸的一部分,比如在將響應發送回去時,僅對SMTP協議進行更改。如果您使用ws編址,與傳輸和尋址相關的所有信息將成爲soap envolope本身的一部分,這將使您的web服務可以動態地將傳輸更改爲響應發送。

Web服務尋址也可用於回調,從服務器到客戶端。該服務在WSDL中通知它所需的回調的端口類型。客戶端實現此端口類型,然後使用WS尋址通知回調端點的服務。

簡單地說,WS尋址增加了額外的標籤肥皂envolope其中包括將存在於傳輸頭而已,就像從地址,以解決,動作名稱等

3.How是信息與異步通信相關的Dispatch API如果他們一直在談論動態客戶端?

Future<?> response = dispatch.invokeAsync(T, AsyncHandler); 

invokeAsync方法是輪詢方法。響應,立即返回給用戶,可能會被調查完成。同時,客戶端程序可以完成其他工作。javax.xml.ws.Response實現了J2SE 5.0中包含的java.util.concurrent.Future接口。 Response對象通過它的get方法返回實際的響應,如果響應沒有準備好返回,它將會阻塞。

4. 2用法調度API(MESSAGE和有效載荷)的模式,是用來做什麼,以及他們如何與JAXWS的異步通信模式?
消息傳遞模式與異步通信沒有直接關係。消息傳遞模式定義了Web服務請求中發送的信息量。 僅當使用SOAP綁定時才能使用MESSAGE MODE。

+0

非常有用和準確的答案。非常感謝你。 – sfrj 2012-04-02 16:57:10