一、使用CXF开发客户端
- 创建一个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
-d 指定要产生代码所在目录
-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
- 使用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);
说明调用成功。这就是一个完整的 CXF客户端对服务端 使用webservice接口的调用
项目的结构部署
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。