tomcat 发布 webservice

来源:互联网 发布:网络购物安全问题 编辑:程序博客网 时间:2024/04/30 11:59
http://redhacker.iteye.com/blog/1444508
 
在webservice流行的今天,如何构建webservice是很多java软件开发人员都想掌握的一门技术,在jdk6以前,我们构建webservice都需要一些开源的项目作为支持,例如xfire,但是jdk6一经发布,构建一个webservice在java开发领域变得非常就简单,下面笔者就简单介绍一下,如何使用jdk6构建一个webservice,并将其发布在tomcat上。 

一、创建java项目ws_test_sample,将.class文件输出到WEB-INF\classes下。 

 


二、新建java类如下: 
Java代码 复制代码 收藏代码
  1. package com.je.ws.sample;   
  2. import javax.jws.WebMethod;   
  3. import javax.jws.WebService;   
  4. @WebService(name="helloService",  portName="helloServicePort", targetNamespace="http://www.javaedu.com")   
  5. public class HelloService {   
  6.     @WebMethod  
  7.     public String hello(String name) {   
  8.         return "Hello," + name;   
  9.     }   
  10. }  


三、进入到E:\eclipsespace\ws_test_sample,执行 

引用

E:\eclipsespace\ws_test_sample>wsgen -cp .\WEB-INF\classes -s .\src -d .\src com.je.ws.sample.HelloService 


四、生成的文件结构如下: 

 

五、编写webservice服务端测试类 
Java代码 复制代码 收藏代码
  1. package com.je.ws.sample;   
  2.   
  3. import javax.xml.ws.Endpoint;   
  4.   
  5.   
  6. public class Test {   
  7.   
  8.     /**  
  9.      * @param args  
  10.      */  
  11.     public static void main(String[] args) {   
  12.         Endpoint.publish("http://127.0.0.1:8001/HelloServicePort"new HelloService());   
  13.     }   
  14.   
  15. }  


六、直接运行Test类,并在浏览器中输入:http://127.0.0.1:8001/HelloServicePort和http://127.0.0.1:8001/HelloServicePort?wsdl,测试webservice是否发布成功,见到如下画面,则webservice测试发布成功。 


 


 

如果想将webservice发布到Tomcat上,则需要按照以下步骤进行: 

一、在web.xml里加入: 
Java代码 复制代码 收藏代码
  1. <listener>   
  2.     <listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>   
  3. </listener>   
  4.   
  5. <servlet>   
  6.     <servlet-name>WSServlet</servlet-name>   
  7.     <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>   
  8.     <load-on-startup>1</load-on-startup>   
  9. </servlet>   
  10.   
  11. <servlet-mapping>   
  12.     <servlet-name>WSServlet</servlet-name>   
  13.     <url-pattern>/helloServicePort</url-pattern>   
  14. </servlet-mapping>  


二、在WEB-INF下新建sun-jaxws.xml文件,其内容如下: 
Java代码 复制代码 收藏代码
  1. <endpoint name="HelloService" implementation="com.je.ws.sample.HelloService" url-pattern="/helloServicePort" />  


三、在E:\eclipsespace\ws_test_sample\WEB-INF\lib下加入如下四个webservice相关的jar包 

 


四、启动tomcat,访问:http://127.0.0.1:8088/ws/helloServicePort,得到如下画面: 
 

可点击http://127.0.0.1:8088/ws/helloServicePort?wsdl得到如下画面: 

 


此刻说明webservice在Tomcat上发布成功了!在下一篇博客里,我将告诉大家如何使用soapui来测试一个webservice,以及如何用使用java原生API通过http协议访问一个webservice。
0 0
原创粉丝点击