一:WEB服务(Web Service) :
JavaEE 为web service提供了两种不同的编程模型:EJB容器模型及Web容器模型,这里将以最新的JAX-WS2.x规范(Java API for XML-based Web Services)介绍webservice的开发。
二:
建一个WebService的Eclipse项目,因为是EJB模型,所以要建一个无状态会话bean,然后把这个无状态会话bean发布为web service,
接下来编写接口的实现类
OrderServiceBean.java
webservice 开发完后,就要对它进行打包发布。发布完后,进入JBoss的管理后台http://localhost:8080/jbossws,点击View a list of deployed services,查看发布的web服务,
这里的命名空间,服务名称,并未修改。
三:web服务开发完,就要开发web服务的客户端
WEB服务的客户端开发
开发步骤如下:
1. 在应用的类路径下放入JAX-WS的jar文件(下载路径:https://jax-ws.dev.java.net) 。如果你使用的是JDK6,这一步可以省略,因为JDK6已经绑定了JAX-WS。目前JDK6绑定的JAX-WS版本是2.0。这意味着,当某些应用使用的JAX-WS版本高于2.0时,就有可能发生版本问题,这时,你需要升级JDK6中的JAX-WS版本,
方法如下:
下载最高版本的JAX-WS,在产品lib目录中找到jaxws-api.jar和jaxb-api.jar ,把这两个文件copy到JDK6_HOME/jre/lib/endorsed目录下。
如果有同学使用开发工具是myeclipse,这时应该把myeclipse所使用的jdk更改为你系统安装的jdk。
2. 利用Web Service客户端生成工具生成辅助类。
3. 第三步:借助辅助类调用web service。
这里我们使用wsimport工具的Ant任务类生成辅助类
新建一个Project,叫WSClient。
build.xml
执行Ant任务,会生成一大堆客户端Java代码文件,看图:
那么怎么通过这些Java文件去调用web服务呢?
建一个单元测试,在单元测试里面调用web服务
然后执行单元测试方法,控制台上把返回值打印出来了。证明方法的调用是成功的。
在开发Web Service的时候一定要注意:如果你们返回的是List类型的对象,应该采用泛型的形式来定义。这样的话,EJB容器内部才能对这种类型进行解析,并把它翻译成对应的XML类型。
WSTest.java
以下为:客户端开发成功效果。