功能设计】
1. 完成简单的两个整数相加、相减、相乘、相除;
2. 重点是学会用JAX-WS发布WebService,并调用该WebService;
3. 了解JAX-WS的工作机制;
【流程设计】
1. 建立WebServiceProject(IntegerCalculator);
2. 创建普通的JavaClass(IntegerCalculator.java),实现WebService的业务逻辑;
3. 创建一个WebService;
1) NewèMyEclipseèWebServicesèWebSerivce;
2) 选择“jax-ws”,在“Strategy”中选择“CreateWebServiceFromJavaBean”(因为上面已经建立了实现业务逻辑的类了,现在只是将其发布为WebService);
3) 选择上面建立的Java Class(IntegerCalculator.java);
4) 点Finish,向导会自动生成:
(1) IntegerCalculatorDelegate.java,作用:IntegerCalculator的接口,生成该类的事例并调用该类的方法;
(2) 在WEB-INF中生成Web.xml,作用:配置监听器以及Servlet的实现类;
(3) 在WEB-INF中生成sun-jaxws.xml,作用:配置WebServicePort的实现类(IntegerCalculatorDelegate.java)
(4) 在WEB-INF中生成WSDL,作用:描述该WebService的信息;
4. 发布WebService;
1) 直接利用右击项目名称èRunAsèMyEclipseServerApplication,就默认为将其部署到MyEclipse默认的服务器(Tomcat)上,并运行服务器了;
2) 目前只有MyEclipse6.5以上的版本自带的Tomcat上加入了jax-ws的架包,如果我们采用其他的Server,还需要我们在项目中采用“buildPathèMyEclipseLibrariesèJAX-WS的两个包”的方式,在项目中加入需要的包,或者将用到得包直接放到Server上去;
5. 通过WebServiceExplorer来访问WebService;
1) 访问地址:http://localhost:8080/ProjectName/PortName?WSDL(本例中为:
http://localhost:8080/IntegerCalculator/IntegerCalculatorPort?WSDL)
2) 在“WebServiceExplorer”中选“WSDLMain”,输入访问地址即可;
4. 生成Client来访问WebService;(IntegerCalculatorClient项目中)
1) 新建一个JavaProject(IntegerCalculatorClient);
2) 加入jax-ws的两个架包;
3) 建立WebServiceClient:NewèMyEclipseèWebServiceClient;
3) 输入“WSDLURL”:http://localhost:8080/ProjectName/PortName?WSDL,或者
如果WSDLFile在本地也可以导入该File所在位置;这样会在你们指定的文件夹中自动生成很多类;
4) 再建立一个文件夹,在其中写调用WebService的Client类,并在其中写main()方法:
(1) 创建该WebService实例;
(2) 通过该实例得到服务的Port(即在本地生成了一个该WebService的代理);
(3) 通过该代理来调用服务中的方法;
【小结】
1. JAX-WS的工作机制;
1) 其为每个WebService都配置了一个Servlet;
2) 为一个或多个WebService设置了监听器(LIstener),时刻监听对于“<url-patern/>”的访问,当遇到对其的访问时就交给相应的Servlet的实现类来处理;
3) PortName:是和WebService绑定在一起的。
4) 调用jax-ws发布的WebService流程(如截图00):
原理:
Server端:Listener一直在8080端口上监听着,只要有“/IntegerCalculatorPort”的Soap消息就调用相应的Servlet(一个WebService对应着一个Servlet)来处理(这些都在Web.xml中设定好),对应的Servlet实现类会做如下处理:
(1) 找到给WebService对应的Port(Port和WebService是Binding在一起的);
(2) 在“sun-jaxws.xml”中找到给Port的实现类,即为XXXDelegate;
(3) 该Delegate的实现就是调用WebService的实现类;
SP会发布出WebService的WSDL,Client主要是通过得到它来调用WebService;
Client端:(1) 在本地得到WSDL文档(或得到WSDL文档的URL);
(2) 通过XML解析来为该WebService设定本地代理;
(3) 通过创建的WebService的本地代理来调用该WebService
分享到:
相关推荐
JAX-WS发布webservice例子,基于http://blog.csdn.net/yy_love_my/article/details/44938329所说的做的一个简单且能运行的列子,基于maven工程,如果使用servlet发布方式,执行命令:mvn tomcat7:run
MyEclipse8_0中使用 JAX-WS 部署 WebService 实例 - 外衣 - 博客频道 - CSDN_NET.mht
基于jax-ws 实现的web service client和server端的demo程序。 注:如果使用的是 myeclipse 时 server 部署到tomcat 启动的时候会报错 解决办法:找到myeclipse安装目录下的 plugins 目录里 查找 webservices-rt.jar,...
以jdk1.6以上自带的jax-ws来发布webservice,压缩包里包含服务端和客户端,下载导入即可启动运行测试,有疑问的话欢迎咨询哈
欢迎下载JAX-WS实现WebService.zip。本压缩文件介绍了如何使用JAX-WS技术实现WebService 参考博客:http://blog.csdn.net/gaohuanjie/article/details/50523517
JAX-WS方式开发和部署webservice应用,JAX-WS方式开发和部署webservice应用,JAX-WS方式开发和部署webservice应用,JAX-WS方式开发和部署webservice应用,JAX-WS方式开发和部署webservice应用
公司代码实现,简单的webservice服务 发布,实现客户端的调用。
MyEclipse6_5上基于JAX-WS开发Webservice(中文示例)
利用myeclipse创建的 jax-ws demo
jax-ws webservice完整demo,包含所有jax-ws 2.2jar包。
webService部署tomcat需要的jax-ws 的完整jar包
jax-ws-webservice开发 通过myeclipse进行 jax-ws的开发及其客户的编写
基于JAX-WS实现的WebService服务 资源包含的文件如下: 1、JAX-WS实现WebService文档 2、WebService服务端实现源码 3、WebService客户端实现源码
使用JAX-WS(JWS)发布WebService 使用myeclipse开发java的webservice的两种方式 方式一: (此方式只能作为调试,有以下bug:jdk1.6u17?以下编译器不支持以Endpoint.publish方式发布document方式的soap,必须在...
MyEclipse基于JAX-WS开发Webservice+WebserviceClient客户端调用.zip
1、JAX-WS概述 2、创建Web Service 2.1 从java开始 2.1.1 运行wsgen 2.1.2 生成的WSDL和XSD 2.1.3 目录结构 2.2 从WSDL开始 2.2.1 运行wsimport 2.2.2 生成的java代码 2.3发布Web Service 2.3.1在...
Java 基于第三方插件实现WebService实在麻烦,尤其是要添加几十M的Jar包...还好,自从JDK 1.6开始,Java自身已经支持WebSeervice的开发即JAX-WS,附件是一个简单的示例,供入门参考。注意,JDK环境要求1.6及以上版本。
使用JAX-WS开发WebService入门教程.pdf
MyEclipse6.5基于JAX-WS开发Webservice
JAX-WS 2.2 RI 所包含的JAR包集合,包含25个JAR包,列表如下: FastInoset.jar gmbal-api-only.jar ha-api.jar javax.annotation.jar javax.mail_1.4.jar jaxb-api.jar jaxb-impl.jar jaxb-xjc.jar jaxws-api...