专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Web前端

(八) 开发EJB容器模型的WEB服务

发布时间:2010-05-20 14:01:29 文章来源:www.iduyao.cn 采编人员:星星草
<script language="javascript">c_a_3();</script>
(8) 开发EJB容器模型的WEB服务

一:WEB服务(Web Service)


       Web 服务也是一种分布式技术,它与EJB最大的不同是,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的开发。

  


二:

  建一个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



以下为:客户端开发成功效果。



友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: