WebService学习之旅(二)JAX-WS基于Web容器发布WebService
来源:互联网 发布:网络编程 什么语言 编辑:程序博客网 时间:2024/05/21 09:06
在上节中我们定义Web服务接口和实现类后,调用Endpoint类的静态方法publish发布来webservice,这种方法使用起来虽然简单,但是对于一个企业级应用来说通常对外提供的服务可能不止一个,如果每个WebService都去编写一个main方法显然不合适,不利于Web服务的集中管理,而且不方便WebService与Web应用整合。
所以绝大多数情况下都会使用Web容器集中管理WebService,本文將向大家介绍如何使用JAX-WS基于Web应用服务器来发布WebService。
一、准备工作
1.获取JAX-WS所需所有JAR包,如下图所示
所有jar包下载地址:
http://download.csdn.net/detail/rongbo_j/9471877
2.打开Eclipse,新建一个web工程,將上节中的WebService接口和实现类拷贝到src目录下。
HelloWorld .java
package com.csdn.jaxws.recipe01;import javax.jws.WebMethod;import javax.jws.WebService;import javax.jws.soap.SOAPBinding;import javax.jws.soap.SOAPBinding.Style;import javax.jws.soap.SOAPBinding.Use;@WebService@SOAPBinding(style = Style.DOCUMENT, use=Use.LITERAL)public interface HelloWorld { @WebMethod String sayHello(String text);}
HelloWorldImpl.java
package com.csdn.jaxws.recipe01;import javax.jws.WebService;@WebService(endpointInterface = "com.csdn.jaxws.recipe01.HelloWorld")public class HelloWorldImpl implements HelloWorld { @Override public String sayHello(String name) { return "hello," + name; }}
3.將上面的jar包添加的classpath中,并发布到WEB-INF/lib目录下,接着在WEB-INF/web.xml文件中,添加如下内容:
<listener> <listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class> </listener> <servlet> <servlet-name>WSServlet</servlet-name> <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class> <load-on-startup>2</load-on-startup> </servlet> <servlet-mapping> <servlet-name>WSServlet</servlet-name> <url-pattern>/service/*</url-pattern> </servlet-mapping>
以/service/*结尾的Http请求会经过WSServlet处理,生成WebService及WSDL文档。
4.接下来在WEB-INF目录下新建sun-jaxws.xml文件,配置内容如下:
<?xml version="1.0" encoding="UTF-8"?><endpoints version="2.0" xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime"> <endpoint name="HelloWorld" implementation="com.csdn.jaxws.recipe01.HelloWorldImpl" url-pattern="/service/HelloWorldService" /></endpoints>
5.使用jdk自带工具wsgen,生成webservice工具类,使用方法如下:
打开控制台进入工程根目录下的build\classes目录,输入命名
wsgen -keep -cp . com.csdn.jaxws.recipe01.HelloWorldImpl
將生成的类拷贝到jaxws子包下
6.完整的工程结果如下图所示:
7.將应用部署到tomcat中,并启动web服务器,打开浏览器访问:http://localhost:8080/jax-recipe02/service/HelloWorldService?wsdl
8.客户端调用代码请参考上节示例。
- WebService学习之旅(二)JAX-WS基于Web容器发布WebService
- WebService学习之旅(一)使用JAX-WS发布WebService
- WebService学习之旅(三)JAX-WS与Spring整合发布WebService
- WebService学习之旅(三)JAX-WS与Spring整合发布WebService
- Jax WS发布webservice
- JAX-WS WebService发布
- 使用Jax-ws将webservice发布到Web容器(Tomcat)
- webService之JAX-WS
- 利用jax-ws发布WebService
- 使用jax-ws开发webservice(二)
- WebService—快速实现一个基于JAX-WS的WebService项目(二)
- WebService—快速实现一个基于JAX-WS的WebService项目(二)
- WebService-JAX-WS学习案例
- WebService之jax-ws入门
- webservice学习笔记(一) - 基于JAX-WS的入门示例
- webservice学习笔记(一) - 基于JAX-WS的入门示例
- JAX-WS在tomcat上发布Webservice
- JAX-WS(二)之使用wsimport创建WebService客户端
- Ajax基础
- 关于stm32 RTC配置相关说明
- TCP之RST发送场景
- Git与GitFlow工具介绍
- 面试题汇总
- WebService学习之旅(二)JAX-WS基于Web容器发布WebService
- leetcode 144. Binary Tree Preorder Traversal
- POJ 3254 状压dp
- 我的Python学习之路之环境准备
- Objective-C——retain/copy/assign/atomic/nonatomic/strong/weak/readonly/readwrite详解
- js遍历表格数据
- iOS资源汇总(开源项目、第三方库、技术博客等)
- 版本控制系统:SVN
- 常对象