tomcat+webservice实现简单的web服务远程调用接口

12/12/2015来源:Java教程人气:5396

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>