用cxf 框架调用webService(第一种,ServerFactoryBean带接口)

客户端:

用cxf 框架提供的类调用服务.. (需要依赖一个接口,通过wsimport 生成的代码当中获取...)

用cxf 框架调用webService(第一种,ServerFactoryBean带接口)


package cn.itcast.cxf.client;

import org.apache.cxf.frontend.ClientProxyFactoryBean;

import cn.itcast.cxf.server.CxfWebServicePortType;

/**
 * 
 * 使用cxf 提供的类 ClientProxyFactoryBean 调用 webservice 服务
 * 
 * 使用此类调用需要依赖一个接口,这个接口可以通过wsimport 生成....
 * 
 * 只需要留下CxfWebServicePortType.java文件,其他java和class文件都删掉
 * 
 * @ 作者 [email protected]
 *
 */
public class CxfClientInvoke {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		//创建调用webservice 服务的类...
		ClientProxyFactoryBean bean=new ClientProxyFactoryBean();
		bean.setAddress("http://192.168.9.100:8080/server");//设置访问地址...
		bean.setServiceClass(CxfWebServicePortType.class);//设置服务的接口...
		//创建接口类型...
		CxfWebServicePortType cxfWebServicePortType=(CxfWebServicePortType) bean.create();
		cxfWebServicePortType.sayHello();
	}

}

导出来的接口文件

package cn.itcast.cxf.server;

import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.ws.RequestWrapper;
import javax.xml.ws.ResponseWrapper;


/**
 * This class was generated by the JAX-WS RI.
 * JAX-WS RI 2.1.1 in JDK 6
 * Generated source version: 2.1
 * 
 */
@WebService(name = "CxfWebServicePortType", targetNamespace = "http://server.cxf.itcast.cn/")
@XmlSeeAlso({
    
})
public interface CxfWebServicePortType {


    /**
     * 
     */
    @WebMethod
    @RequestWrapper(localName = "sayHello", targetNamespace = "http://server.cxf.itcast.cn/", className = "cn.itcast.cxf.server.SayHello")
    @ResponseWrapper(localName = "sayHelloResponse", targetNamespace = "http://server.cxf.itcast.cn/", className = "cn.itcast.cxf.server.SayHelloResponse")
    public void sayHello();

}





你可能感兴趣的:(用cxf 框架调用webService(第一种,ServerFactoryBean带接口))