JAX-WS发布WebService实践1:——整数四则运算器
来源:互联网 发布:牡医学院网站网络教学 编辑:程序博客网 时间:2024/05/19 21:16
http://kb.cnblogs.com/a/1458654/
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实践1:——整数四则运算器
- Jax WS发布webservice
- JAX-WS WebService发布
- 利用jax-ws发布WebService
- 真正的轻量级WebService框架——使用JAX-WS(JWS)发布WebService
- 真正的轻量级WebService框架——使用JAX-WS(JWS)发布WebService
- 真正的轻量级WebService框架——使用JAX-WS(JWS)发布WebService
- 真正的轻量级WebService框架——使用JAX-WS(JWS)发布WebService
- 真正的轻量级WebService框架——使用JAX-WS(JWS)发布WebService
- 真正的轻量级WebService框架——使用JAX-WS(JWS)发布WebService
- 真正的轻量级WebService框架——使用JAX-WS(JWS)发布WebService
- 真正的轻量级WebService框架—使用JAX-WS(JWS)发布WebService(转载)
- webservice——JAX-WS入门
- WebService —— JAX-WS 与 CXF
- JAX-WS在tomcat上发布Webservice
- WebService-01-使用JAX-WS发布WebService服务
- JAVA6开发WebService (二)——JAX-WS例子
- JAVA6开发WebService (二)——JAX-WS例子
- Python三目运算,and or陷阱
- 数的整除性质
- 一个浮动+触发的js代码
- Maven 杂记三
- Android Intent 使用整理
- JAX-WS发布WebService实践1:——整数四则运算器
- 求助:无法卸载:一个或多个应用程序需要此程序集
- 发送已创建用户电子邮件通知
- UVa 10131 Is Bigger Smarter?
- Maven 杂记四:安装自己的jar包
- 40个迹象表明你还是PHP菜鸟
- 平台崩溃之operator new异常(九)-2010-5-20
- Tips: linux shell重定向
- Color Me Less--poj--1046