客户端:
用cxf 框架提供的类调用服务.. (需要依赖一个接口,通过wsimport 生成的代码当中获取...)
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文件都删掉
*
* @ 作者 zhuwu@itcast.cn
*
*/
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();
}