天天看點

JAX-WS

JAX-WS(Java API for XML Web Services)規範是一組XML web services的JAVA API,JAX-WS允許開發者可以選擇RPC-oriented或者message-oriented 來實作自己的web services。

在 JAX-WS中,一個遠端調用可以轉換為一個基于XML的協定例如SOAP,在使用JAX-WS過程中,開發者不需要編寫任何生成和處理SOAP消息的代碼。JAX-WS的運作時實作會将這些API的調用轉換成為對應的SOAP消息。

在伺服器端,使用者隻需要通過Java語言定義遠端調用所需要實作的接口SEI(service endpoint interface),并提供相關的實作,通過調用JAX-WS的服務釋出接口就可以将其釋出為WebService接口。

在用戶端,使用者可以通過JAX-WS的API建立一個代理(用本地對象來替代遠端的服務)來實作對于遠端伺服器端的調用。

當然 JAX-WS 也提供了一組針對底層消息進行操作的API調用,你可以通過Dispatch 直接使用SOAP消息或XML消息發送請求或者使用Provider處理SOAP或XML消息。

通過web service所提供的互操作環境,我們可以用JAX-WS輕松實作JAVA平台與其他程式設計環境(.net等)的互操作。

JAX-WS與JAX-RPC之間的關系

Sun最開始的web services的實作是JAX-RPC 1.1 (JSR 101)。這個實作是基于Java的RPC,并不完全支援schema規範,同時沒有對Binding和Parsing定義标準的實作。

JAX-WS2.0 (JSR 224)是Sun新的web services協定棧,是一個完全基于标準的實作。在binding層,使用的是the Java Architecture for XML Binding (JAXB, JSR 222),在parsing層,使用的是the Streaming API for XML (StAX, JSR 173),同時它還完全支援schema規範。