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>