用Myeclipse在web项目中发布WebService

准备工作:

1、新建一个web项目;

2、定义服务的接口Speaker:

[java]  view plain  copy
  1. package com.beauxie.webservice;  
  2.   
  3. import javax.jws.WebService;  
  4.   
  5. /** 
  6.  * 定义服务的接口 
  7.  * @author   
  8.  * 
  9.  */  
  10. @WebService//此注解用在类上指定将此类发布成一个WebService  
  11. public interface Speaker {  
  12.       
  13.     String sayHello(String name);  
  14.   
  15. }  
3.创建这个接口的实现类Person:

[java]  view plain  copy
  1. package com.beauxie.webservice;  
  2.   
  3. import javax.jws.WebService;  
  4.   
  5. /** 
  6.  * 定义服务的实现类 
  7.  * @author Beauxie 
  8.  * 
  9.  */  
  10. @WebService(endpointInterface="com.beauxie.webservice.Speaker")  
  11. public class Person implements Speaker {  
  12.   
  13.     public String sayHello(String name) {  
  14.            
  15.         return "Hello,"+name;  
  16.     }  
  17.   
  18. }  

主要步骤:

1.依次点击左上角的“File”-->“New”-->“other”,如下图所示:

用Myeclipse在web项目中发布WebService_第1张图片


2.选择"Web Service",点击“Next”,如下图所示:


用Myeclipse在web项目中发布WebService_第2张图片


3.点击"Install JAX-WS-Facet"安装JAX-WS-Facet,如下图所示:


用Myeclipse在web项目中发布WebService_第3张图片


4.选择自己所要发布服务的项目等,如下图所示:


用Myeclipse在web项目中发布WebService_第4张图片


5.在 Java class一栏中,选择web服务的实现类,(点击右边的Browse,直接搜索类名即可),其余的不用修改:


用Myeclipse在web项目中发布WebService_第5张图片


6.完成上述步骤以后,在WEB-INF目录下可以看到多了两个文件:“sun-jaxws.xml”和“web.xml”,然后再导入相关的jar包,不然会报错:java.lang.ClassNotFoundException: com.sun.xml.ws.transport.http.servlet.WSServletContextListener 。(点击下载相关jar包)

用Myeclipse在web项目中发布WebService_第6张图片


7.打开"web.xml",可查看配置:


用Myeclipse在web项目中发布WebService_第7张图片


8.启动web项目之后,打开浏览器,访问“web.xml”中servlet(url-pattern)对应的webservice:


用Myeclipse在web项目中发布WebService_第8张图片

出现以上界面,说明服务发布成功。


总结:

1.当出现:java.lang.ClassNotFoundException: com.sun.xml.ws.transport.http.servlet.WSServletContextListener异常时,很大原因是因为忘了导入相关jar包;

2.通过“web.xml”中对应的servlet(url-pattern)访问发布的webservice,每个人端口号不同,我这里修改了tomcat的配置文件,将默认端口改成了80。

你可能感兴趣的:(Java模块)