走自己的路

          路漫漫其修遠兮,吾將上下而求索

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            50 隨筆 :: 4 文章 :: 118 評論 :: 0 Trackbacks

                    1)      利用JAX-WSDispatch/Provider

          JAX-WS中,我們可以跳過SOAP棧的處理,直接調用Service Endpoint,這樣我們就可以傳輸POXRaw xml)或者JSONService Endpoint處理,并可以通過MessageContext拿到HTTP method,從而進行判斷,調用不同的邏輯。需要注意的是將Endpoint@WebService替換成@WebServiceProvider,需要實現Provider<Source>接口。接著將BindingType改為(value = HTTPBinding.HTTP_BINDING),表明直接處理的是HTTP,而不是SOAP

          DispatchProvider分別對應于客戶端和服務端,他們當然是可以脫離使用的。

          Provider脫離Dispatch

          • GetDelete不需要通過HTTP body,本身就支持任意client
          • 通過HTTP Headerpostput的內容,支持任意client
          • 通過HTTP bodyPostPut的內容,需要模擬Dispatch傳的HTTP body格式

          Dispatch脫離Provider

          • 自己生成SOAP包,服務端可以是SOAP-based web service

                      2)      RESTful HTTPServlets

          所謂萬變不離其中,REST本身就是HTTP的架構,我們可以直接通過HTTP servlet操控HTTP RequestResponse,而且HTTP servlet本身就提供了doGet doPost doPut doDelete doHeader, doOptions方法,通過重寫這些方法,我們可以實現基于HTTP servletRESTful web services

          3)      JAX-RS

          JAX-RSJSR 311Java API for XML-RESTful Web Services)是基于annotation的實現方式,我們通過annotation的方式把一個java class標注成RESTful web service,并把它的方法標注成HTTPCRUD。相關的annotation@path, @Produces,@GET, @POST, @DELETE, @PUT, @PathParam等,

          目前已經有很多現成的實現,比如Jersey, Apache CXF, JBoss RESTEasy, Apache Wink.  Triaxrs等

          4)      其他的一些framework

          還有一些其他的第三方的framework,可以方便我們發布RESTful web services,編寫web client,比如Restlet

          5)      Container支持

          有些Container也提供了一些Utility工具,可以將Java Class發布成RESTful web services。不過OC4J1013的那個太假了,



          主站蜘蛛池模板: 原平市| 乌苏市| 深圳市| 隆子县| 眉山市| 花莲县| 明光市| 久治县| 嘉义市| 澜沧| 舟曲县| 金塔县| 江口县| 普定县| 商丘市| 乾安县| 平湖市| 利辛县| 沁水县| 堆龙德庆县| 普兰店市| 巫溪县| 乌拉特后旗| 仪陇县| 永年县| 长岛县| 吉木乃县| 涟水县| 平果县| 八宿县| 神木县| 龙江县| 开化县| 扎囊县| 聂拉木县| 城固县| 宣威市| 鹤峰县| 阳江市| 庐江县| 道真|