国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

使用JWSDP完成Web Service在java的入門(一)

2019-11-18 15:54:30
字體:
來源:轉載
供稿:網友

  Web Service在java領域,AXIS因其輕易使用,很多項目都使用了它,對于Sun提供的Web Service技術,則不多使用,現更新有關版本,重新使用了一下Sun提供的JWSDP,并寫了這篇入門.供需要者參考.
  
  一 Sun公司的Web Service
  
  Web服務是基于web的使用開放的基于xml標準的企業應用,是和調用客戶端交換數據的傳輸協議,Java技術和WEB服務被組織成這些亞類:
  
  Java Web Services Developer Pack (Java WSDP)
  
  Java API for XML-Based RPC (JAX-RPC)
  
  Java API for XML Registries (JAXR)
  
  Java API for XML PRocessing (JAXP)
  
  Java Architecture for XML Binding (JAXB)
  
  SOAP with Attachments API for Java (SAAJ)
  
  XML and Web Services Security
  
  JAX-RPC代表基于xml遠程過程調用的java API,是一項為構建使用RPC和XML的Web服務和客戶端的技術,通常用于分布式的CS模式中,它是一種RPC機制能使客戶端執行其他系統上的過程.
  
  在JAX-RPC中,一個RPC由基于XML協議如SOAP表示,這個SOAP規范定義了一個信封結構,編碼規則以及為代表遠程調用和響應的協定.這些調用和響應作為SOAP消息在HTTP上傳輸.
  
  盡管SOAP消息復雜,但JAX-RPC API向應用開發者隱藏了這些復雜性.在服務器端,開發者指定那個調用過程是通過用java語言寫的接口定義的方法, 開發者還要編碼一個或多個實現這些方法的類.客戶端程序也輕易編碼:一個客戶端創建一個代理(一個代表服務的本地對象),然后簡單的在那個代理上調用那個方法.使用JAX-RPC,開發者不用生成或分析SOAP消息,這是JAX-RPC運行時系統做的事情:它在來往的API調用和響應到SOAP消息之間進行轉換.
  
  使用JAX-RPC,客戶端和web services有一個巨大的好處:java編程語言的平臺獨立性.此外,JAX-RPC沒有限制: 一個JAX-RPC客戶端能訪問一個并不在java平臺上運行的web服務,反之亦然.這個靈活性是可能的以為JAX-RPC使用由W3C定義的技術:HTTP, SOAP,WSDL. WSDL為把一個服務在消息上描述為一套端點操作指定了一個XML格式.
  
  二 SUN提供的WEB服務構建工具
  
  J2EE提供了APIs和創建,發布可互操作WS和客戶端的工具,其中JAX-RPC(SI)標準實現提供了wscompile 和 wsdeploy 工具,使你開發,發布,調用Web Service:
  
  1 wscompile可接受兩種輸入:WSDL和Service Endpoint Interface,輸出為可移植制品和model文件.
  
  2 wsdeploy只有一種輸入:包括wscompile輸入和輸出再加上一個部署描述符文件,輸出是可發布的特定平臺上的web service.
  
  這些工具同Java WSDP一起打包可供使用,java web服務開發包是一個免費的集成工具箱,用它構建,測試,發布XML應用,web服務以及帶有最新web服務技術和標準實現的web應用.
  
  (一) wscompile工具
  
  1 工具介紹
  
  它生成由JAX-RPC運行時需要的各種客戶端和服務端制品以供開發,部署,調用一個Web服務. 這個工具有兩種使用形式:批處理和Ant構建腳本.
  
  wscompile -gen -classpath lib/foo.jar;lib/bar.jar -d generated config.xml
  
  wscompile -gen -f:infix:Name -d generated config.xml
  
  wscompile -define -f:nodatabinding -f:novalidation config.xml
  
  wscompile -import -f:explicitcontext config.xml
  
  Ant腳本,在Ant中使用這個任務前要先定義:
  
  <taskdef name="wscompile" classname="com.sun.xml.rpc.tools.ant.Wscompile">
  
  <classpath path="${classpath}"/>
  
  </taskdef>
  
  其中的類路徑要指向以下檔案庫:
  
  jaxrpc-api.jar
  
  jaxrpc-impl.jar
  
  jaxrpc-spi.jar
  
  saaj-api.jar
  
  saaj-impl.jar
  
  jaxp-api.jar
  
  dom.jar
  
  sax.jar
  
  xalan.jar
  
  xercesImpl.jar
  
  activation.jar
  
  mail.jar
  
  jax-qname.jar
  
  namespace.jar
  
  xsdlib.jar
  
  relaxngDatatype.jar
  
  例子:
  
  <wscompile gen="true" base="${build}" features="explicitcontext" classpath="xyz.jar" debug="true" config="config.xml">
  
  <wscompile import="true" keep="true" sourceBase="${source.dir}" base="${build}" model="model.xml.gz" PrintStackTrace="true" config="config.xml">
  
  <classpath refid="compile.classpath"/>
  
  </wscompile>
  
  <wscompile fork="true" define="true"  nonClassDir="${wsdl.dir}"  features="documentliteral, useonewayoperations" config="config.xml"/>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 莱西市| 玉屏| 靖西县| 曲水县| 宜阳县| 余庆县| 贵溪市| 玛曲县| 仁怀市| 中超| 麻阳| 新建县| 上林县| 南丰县| 陆河县| 牟定县| 噶尔县| 宜黄县| 新干县| 株洲市| 铅山县| 华蓥市| 专栏| 大田县| 甘南县| 徐汇区| 广东省| 盐津县| 宝山区| 鄄城县| 鹤山市| 察哈| 会同县| 尼玛县| 大关县| 大方县| 格尔木市| 会昌县| 手游| 九龙县| 金川县|