Web服务(Web Service)

Web服务也是一种分布式技术,与EJB最大的不同点是,Web服务属于行业规范,可以跨平台及语言。而EJB属于java平台的规范,一般也使用在java平台。Web服务更加偏重对外提供什么功能,而EJB偏重的是如何用一个个组件组装这些功能。

JavaEEweb service提供了两种不同的编程模型:EJB容器模型机Web容器模型,这里主要介绍EJB容器模型。

编写Order

 上面编写的Order类是实现类似Entity bean的功能。

编写session bean的远程接口OrderService.java,接口中有三个业务方法。

 编写session bean,实现该远程接口

 @WebService(targetNamespace="http://ws.wang.cn",

       name="OrderService",

       serviceName="OrderServiceBean")

上面这段注释是把该无状态session bean中所有的业务方法暴露为web service方法,如果想只是把某个方法暴露为web service方法,只需在该方法上添加注释@WebMethod

targetNamespace是命名空间,name是服务端名称,serviceName是服务名称,这些参数都可以在web service的描述语言中查看,启动jboss,输入:http://localhost:8080/jbossws/,点击“View a list of deployed services”,然后点击http://127.0.0.1:8080/WebService/OrderServiceBean?wsdl就可以查看wsdl

 发布该webservicejboss中。

J2SE或者Web中调用Web Service

利用JDKwsimport命令生成辅助类,wsimport用法如下:

wsimport –d E:/JavaProject/WSClient/bin –keep –s E:/JavaProject/WSClient/src –verbose

http://localhost:8080/WsHelloWorld/HelloWorldBean?wsdl –p wang.ejb3.ws.client

上面各选项的含义如下:

-d<directory>指定保存目录,存放生成类编译后的class文件。

-s<directory>指定保存目录,存放生成的源文件。

-keep指定是否生成文件。

-verbose指定是否显示执行细节。

-p指定生成文件所使用的包名。

编写build.xml如下:

 运行该build.xml,生成相应辅助类。

借助辅助类调用web service

 

 

 

 

 

 

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页