Posted on 2010-01-13 22:48
斷點 閱讀(407)
評論(0) 編輯 收藏 所屬分類:
EJB3.0
Web服務也是一種分布式技術,屬于行業規范,可以跨平臺及語言。
EJB屬于java平臺規范,盡管理論上可以跨平臺,但實現起來比較麻煩,所以其應用范圍局限在java平臺。
二者偏重點不同:
Web服務偏重的是這個系統對外提供什么功能;
EJB偏重的是如何使用一個個組件組裝這些功能。
例如:一個硬盤,它對外提供的是存儲服務,這是web服務的關注點;對于怎樣組裝這個硬盤,web服務并不關心,而這些是EJB所關注的。
JavaEE為web service提供了兩種不同的編程模型:EJB容器模型、Web容器模型。
下面以最新的JAX-WS2.x規范(Java API for XML-based Web Services)介紹Webservice的開發。
注:JAX-WS的下載路徑為https://jax-ws.dev.java.net/servlets/ProjectDocumentList?folderID=7796&expandFolder=7796&folderID=11088
EJB容器模型的WEB服務的客戶端開發:
注:首先我們需要建立一個無狀態SessionBean,然后把此無狀態SessionBean發布為web service。
1.在應用的類路徑下放入JAX-WS的全部jar文件,并且把引進的jar文件添加到類路徑上,即右擊項目名-->Properties-->Java Build Path-->Add JARS。
如果你使用的是JDK6,這一步可以省略,因為JDK6已經綁定了JAX-WS。目前JDK6綁定的JAX-WS版本是2.0。
2.把JAX-WS產品lib目錄中找到jaxws-api.jar和jaxb-api.jar,把這兩個文件copy到JDK_HOME/jre/lib/endorsed目錄下。
3.利用Web Service客戶端生成工具(wsimport工具的Ant任務類)生成輔助類。
build.xml文件內容如下:
<?xml version="1.0" encoding="UTF-8"?>
<project name="WSClient" default="wsclientgen" basedir=".">
<property name="src.dir" value="${basedir}/src" />
<path id="build.classpath" description="設置類路徑">
<fileset dir="${basedir}/lib">
<include name="*.jar"></include>
</fileset>
</path>
<target name="wsclientgen" description="生成webservice客戶端輔助代碼,執行后請刷新項目">
<taskdef name="wsimport" classname="com.sun.tools.ws.ant.WsImport"
classpathref="build.classpath"/>
<wsimport wsdl="http://localhost:8090/WebService/OrderServiceBean?wsdl"
sourcedestdir="${src.dir}" package="cn.ztf.ws.client" keep="true"
verbose="true" destdir="${basedir}/bin"/>
</target>
</project>
4.借助輔助類調用Web Service。
posted @ 2009-03-30 14:22 斷點 閱讀(169) | 評論 (0)