天天看点

JAX-WS 构建 Webservice 并部署到服务器上

第一步:新建web项目

创建服务接口 public  interface  SayHiService {    public  String sayHi(String jsonStr); }

其实现类,添加webservice注解 import  javax.jws.WebParam; import  javax.jws.WebService; import  javax.jws.soap.SOAPBinding;

@WebService   @SOAPBinding (style =  SOAPBinding  .Style. RPC )  public  class  SayHiServiceImpl  implements  SayHiService {

      @Override       public  String sayHi(  @WebParam (name= "jsonStr"  ) String jsonStr) {                        return  "Hi "  + jsonStr + ", Welcome to WS World!" ;      }

}

服务发布测试类:

import  javax.xml.ws.Endpoint;

public  class  WsServerStart {       public  static  void  main(String[] args) {            SayHiService ws =  new  SayHiServiceImpl();            Endpoint.publish( " http://localhost:8080/WebService/hello " , ws);      }  }

运行该测试类,在浏览器中输入 http://localhost:8080/WebService/hello 看到如下界面,即为服务发布成功:

JAX-WS 构建 Webservice 并部署到服务器上

第二步:将web服务部署到服务器

在项目WEB-INF下创建2个xml配置文件: 1)sun-jaxws.xml         指定webservice的实现类 <?  xml   version =  "1.0"   encoding  =  "UTF-8" ?> <  endpoints    xmlns =  "http://java.sun.com/xml/ns/jax-ws/ri/runtime"    version =  "2.0" >    < endpoint        name =  "HelloWorld"        implementation  = "com.jow.SayHiServiceImpl"        url-pattern  = "/hello"  /> </  endpoints >

2)web.xml   指定监听器和servlet <?  xml   version =  "1.0"   encoding  =  "UTF-8" ?> <!  DOCTYPE   web-app   PUBLIC  "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/j2ee/dtds/web-app_2_3.dtd"  >   <  web-app >      < listener  >          < listener-class >  com.sun.xml.ws.transport.http.servlet.WSServletContextListener  </  listener-class >      </ listener  >      < servlet  >          <  servlet-name >  hello </  servlet-name  >          <  servlet-class >           com.sun.xml.ws.transport.http.servlet.WSServlet          </  servlet-class >          <  load-on-startup >  1 </  load-on-startup  >      </ servlet  >      < servlet-mapping  >          <  servlet-name >  hello </  servlet-name  >          <  url-pattern >  /hello </  url-pattern  >      </ servlet-mapping  >      < session-config  >          <  session-timeout >  120 </  session-timeout  >      </ session-config  >  </  web-app >

导入jar包:  由于 WSServletContextListener   和   WSServlet 需要引入jar包

导入jaxws-ri-2.2.8下的jar包即可

第三步:部署webservice项目 导出war包,上传至tomcat中webapps目录下即可

验证 在浏览器中输入; http://localhost:8080/WebService/hello

出现以下界面,即为服务部署成功:

JAX-WS 构建 Webservice 并部署到服务器上

继续阅读