Apache CXF介绍:http://cxf.apache.org/docs/index.html 一、使用CXF开发Web Service服务端: 每个Web Service组件需要2个部分:接口和实现类: 1、新建maven工程cxfWebService 工程目录结构: 这是pom.xml文件
          Apache CXF介绍:http://cxf.apache.org/docs/index.html
一、使用CXF开发Web Service服务端:
每个Web Service组件需要2个部分:接口和实现类:1、新建maven工程cxfWebService 工程目录结构: 这是pom.xml文件的内容
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.webService</groupId>
  <artifactId>cxfWebService</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>
  <name>cxfWebService</name>
  <url>http://maven.apache.org</url>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  <cxf.version>2.2.3</cxf.version>
  </properties>
 
<dependencies>
    <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-frontend-jaxws</artifactId>
        <version>${cxf.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-transports-http</artifactId>
        <version>${cxf.version}</version>
    </dependency>
        <!-- Jetty is needed if you're are not using the CXFServlet -->
    <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-transports-http-jetty</artifactId>
        <version>${cxf.version}</version>
    </dependency>
</dependencies>
</project>    
 2、开发一个webservice业务接口,方法使用@WebService修饰。 
 @WebService 
public interface HelloWorld {
	String sayHi(String name);  
}
 
  3、写一个这个方法的实现类,方法也需要使用@WebService修饰,并指定其中的参数中,如下指定了所需要实现的接口、并指定服务名称。
package com.weir;
import java.util.Date;
import javax.jws.WebService;
@WebService(endpointInterface="com.weir.HelloWorld",serviceName="HelloWorldWs")//指定webservice所实现的接口以及服务名称 
public class HelloWorldImpl implements HelloWorld{
	public String sayHi(String name) {
		// TODO Auto-generated method stub
		return name+"您好!现在时间是:"+new Date();  
	}
} 
 4、暴露Web Service的函数,运行函数暴露Web Service: 
 package com.weir;
import javax.xml.ws.Endpoint;
public class ServiceMain {
    public static void main(String args[]){  
		HelloWorld hw = new HelloWorldImpl();
		// 调用Endpoint的publish方法发布Web Service
		String address="http://localhost:8080/helloWorldService";
		Endpoint.publish(address, hw);
		System.out.println("Web Service暴露成功!"); 
    }
} 
  打开浏览器输入http://localhost:8080/helloWorldService?wsdl,暴露服务成功的情况下可以看到wsdl描述文件 
 
 
  
 
 
  
 
 
  
 二、开发Web Service客户端:
1、新建java project cxfWebServiceClient 2、使用eclipse的new Web Service Client生成客户端代码 选择刚才的wsdl地址 选择生成的代码位置,我们这边选择新建的工程cxfWebServiceClient 可以看到,我们的工程底下多了这几个文件 3、在客户端写测试代码package com.weir.test;
import java.rmi.RemoteException;
import com.weir.HelloWorldProxy;
public class TestService {
	public static void main(String args[]){
		HelloWorldProxy helloWorldProxy = new HelloWorldProxy();
		try {
			String s = helloWorldProxy.sayHi("weir");
			System.out.println("调用webservice:"+s);
		} catch (RemoteException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
} 运行main函数,成功调用WebService 
 
 
   
        
             