加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-16 22:58:24 所属栏目:安全 来源:网络整理
导读:一、使用CXF开发客户端 创建一个Java 项目,我创建的是CXFClient 下面先介绍一下,CXF中wsdl2java命令环境配置以及wsdl2java工具的使用 用我自己电脑做一个实例, 一、环境配置 ??????? 新建CXF_HOME ? ?? D:ProgramFilesapache-cxf-2.7.10 ??????? 在CLAS

一、使用CXF开发客户端

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

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

一、环境配置

??????? 新建CXF_HOME ? ?? D:ProgramFilesapache-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接口的调用

?

?

?

?

项目的结构部署


?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读