WebService之CXF(二、客户端的生成与调用)

一、使用CXF开发客户端

  1. 创建一个Java 项目,我创建的是CXFClient
  • 下面先介绍一下,CXF中wsdl2java命令环境配置以及wsdl2java工具的使用

用我自己电脑做一个实例,

一、环境配置

        新建CXF_HOME      D:\ProgramFiles\apache-cxf-2.7.10

        在CLASSPATH          %CXF_HOME%\lib

        在PATH中添加           %CXF_HOME%\bin

 

        验证:

                操作   win+R    ---> cmd  --->  回车   ---》 wsdl2java -v 

                结果 显示  wsdl2java - Apache CXF 2.7.2 

                证明配置成功

 

二、wsdl2java工具使用  

操作   win+R    ---> cmd  --->  回车   ---》 wsdl2java  -frontend jaxws21 -p  com.jiuzi.HelloCXF -d D:\  -client -autoNameResolution  http://localhost:8080/webservice/HelloCXF?wsdl

 

-p  指定其wsdl的命名空间,也就是要生成代码的包名: 

-d  指定要产生代码所在目录 

-client 生成客户端测试web service的代码 

-server 生成服务器启动web  service的代码 

-impl 生成web service的实现代码 

-ant  生成build.xml文件 

-all 生成所有开始端点代码:types,service proxy,,service interface, server mainline, client mainline, implementation object, and an Ant build.xml file.

参考质料:http://cxf.apache.org/docs/wsdl-to-java.html

 

  1. 使用CXF生成客户端

我使用的简洁 的命令,没有带任何参数。在cmd中切换到该项目的src源码目录下,输入

wsdl2java http://127.0.0.1:8080/CXFWebservice/ws/readerService2?wsdl,如下图:



 回车,自动客户端生成,刷新myeclipse导入代码,



 

3.编写客户端

package com.xlk.cxf.client.clientmain;

import com.xlk.cxf.service.IReaderService;
import com.xlk.cxf.service.Reader;
import com.xlk.cxf.service.impl.ReaderService;
/**
 * 
 * reader的客户端调用 </br> 
 * 类名: ReaderClient </br> 
 * 日期: 2014-2-19 上午10:46:13 </br> 
 * @author 许立亢 
 * @version 1.0
 */
public class ReaderClient {
	public static void main(String[] args) {
		ReaderService readerService = new ReaderService();
		 // 此处返回的只是远程WebService的代理
		 IReaderService iReaderService = readerService.getReaderServicePort();
		 Reader reader = iReaderService.getReader("123", "许立亢");
		 System.out.println(reader.getName());
	}
}

 该代码是对,之前的服务端的获得实体类接口的调用:public Reader getReader(@WebParam(name="name") String name,@WebParam(name="password") String password);

 执行main函数,控制台显示,


 说明调用成功。这就是一个完整的 CXF客户端对服务端 使用webservice接口的调用

 

 

 

 

项目的结构部署



 

猜你喜欢

转载自star45.iteye.com/blog/2019254