1,准備工作:
①需要使用到jaxws的一系列架包,網址:http://jax-ws.java.net,我下的是比較新的一個版本(下載好以后吧架包發在lib下),②webservice的一個工具:soapUI,這個在網上都有③開發web項目的IDE
我使用的是myEclipse6.5,④生成客戶端代碼的axis,我用的是1.4。
2工具都准備好了,接下來就是寫代碼了,webservice就是將接口發布給別的程序調用,所以我們對外只能暴露我們的接口。
創建兩個包,一個是com.itf.test,另外一個是com.impl.test,看得出來一個是放接口的,一個是放實現類
package com.impl.test; import javax.jws.WebService; import nc.itf.test.IHelloWorld; //targetnamespace指的是wsdl的namespace @WebService(targetNamespace="http://demo.webservice",name="Hello") public class HelloWorldImpl implements IHelloWorld{ @Override public String sayHelloWorld() { return "Hello World"; } }
package com.itf.test; import javax.jws.WebService; @WebService public interface IHelloWorld { public String sayHelloWorld(); }
注意的是對於webservice的類來說,都需要用@Webservice來注釋,注釋還有很多的參數,具體的可以去doc下面看.
3寫好代碼以后,我們就可以寫配置文件了:配置文件在WEB-INF下面
<?xml version="1.0" encoding="UTF-8"?> <endpoints xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime" version="2.0"> <endpoint name="IHelloWorld" implementation="nc.impl.test.HelloWorldImpl" url-pattern="/hello"> </endpoint> </endpoints>
配置文件的詳細寫法也可以從文檔中看
寫好這些東西以后,就可以啟動tomcat,如果不出意外的話,就會看到
點進去就可以看到詳細的信息了,然后把soapUI打開,新建一個項目,將這個上面的URL復制到soapUI中,tools->Axis1.XArtifacts,tools-tools
點擊缺點,就可以選擇生成了,需要選擇目標地址。
忘記了,還有web.xml文件需要添加:
<!-- ws --> <listener> <listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class> </listener> <servlet> <servlet-name>blog</servlet-name> <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet>