天天看點

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 并部署到伺服器上

繼續閱讀