第一步:建立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 看到如下界面,即為服務釋出成功:
第二步:将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
出現以下界面,即為服務部署成功: