筆記

          way

          RCP與Document風格

          有兩種SOAP message風格,documentRPC,他們定義了SOAP message body的格式。使用document風格時(包括wrapped和unwrapped),在wsdl中有一個非空的types部分,這個部分用XML Schema language定義了web service要用到的類型。wsgen工具從SIB(有SEI就足夠了)中生成與XSD對應的java類。用java代碼生成WSDL文件的時候需要一些java類,wsgen工具可以生成這些Java類,生成的這些java類被稱為wsgen artifacts,底層的JWS類庫會用到這些類,特別是JAX-B系列的包,會用來轉(zhuǎn)換(marshal)java類實例(that is, Java in-memory objects)為XML類型的XML實例(滿足XML Schema document的XML文檔實例),

          The inverse operation is used to convert (unmarshal) an XML document instance to an in-memory
          object, an object of a Java type or a comparable type in some other language。因此wsgen工具生成的artifacts,支持了Java為基礎(chǔ)的web service的互操作性。JAX-B類庫提供了Java和XSD類型轉(zhuǎn)換的底層支持。

          For the most part, the wsgen utility can be used without our bothering to inspect the artifacts that it produces. For the most part, JAX-B remains unseen infrastructure.

          wsgen artifacts實際上是wsdl message的數(shù)據(jù)類型,他們和XML Schema type綁定,每個message的XML Schema types從這些java類型得來的。注:在當前的jdk1.6.24中,已經(jīng)融入wsgen自動生成的過程,不需手動調(diào)用。

          wsgen工具可用來生成wsdl文件,如:% wsgen -cp "." -wsdl ch01.ts.TimeServerImpl 。這為TimeServer服務(wù)生成了wsdl。用wsgen生成的wsdl和通過訪問發(fā)布的服務(wù)生成的wsdl 有個很大的區(qū)別:wsgen生成的沒有endpoint,因為這個URL是在發(fā)布服務(wù)的時候決定的。其他地方兩個wsdl是相同的。

          wsimport(以前叫wsdl2java和 java2wsdl更形象)工具可使用WSDL生成用來幫助寫客戶端的artifacts .

          1 先契約再編碼方式
          一個例子:得到一個tempConvert.wsdl文件,使用命令 wsimport -keep -p ch02.tc tempConvert.wsdl ,命令根據(jù)wsdl的portType生成一個SEI類,把SEI的interface換為class,再把方法改為實現(xiàn)就可變?yōu)镾IB。把該SIB發(fā)布,再使用命令wsimport -keep -p clientTC http://localhost:5599/tc?wsdl,來生成客戶端輔助類
          2 編碼優(yōu)先
          服務(wù)被發(fā)布之后,會自動生成WSDL供客戶端使用。然而,使用annotations可以控制WSDL或WSDL-generated artifacts的生成。

          posted on 2011-10-08 21:47 yuxh 閱讀(580) 評論(0)  編輯  收藏 所屬分類: web service


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           

          導航

          <2011年10月>
          2526272829301
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          統(tǒng)計

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          收藏夾

          博客

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 兖州市| 曲松县| 芮城县| 鄯善县| 西乡县| 定州市| 洛扎县| 漯河市| 琼结县| 靖州| 界首市| 绿春县| 乌什县| 柳林县| 嵊泗县| 洪江市| 建始县| 乐亭县| 行唐县| 河南省| 东台市| 庄浪县| 社旗县| 鄱阳县| 大洼县| 双辽市| 泽库县| 南丹县| 黄骅市| 凤冈县| 铁岭市| 思南县| 永吉县| 南岸区| 汤阴县| 房产| 德惠市| 钦州市| 营山县| 宁国市| 湖州市|