CXF客户端入门使用

作者:海鹰
此教程记录CXF客户端的简单入门
版权所有,未经允许,请勿随意转载。

1. 笔者环境

  1. 操作系统:Windows 10
  2. 项目依赖管理:Maven
  3. 开发工具:Eclipse

2. 开始工作

1. 下载Apache CXF

注:笔者本次示例的版本为3.1.6,不同版本的脚本执行结果是不一样的。

2. 配置POM,添加对应的CXF依赖
1
2
3
4
5
6
7
8
9
10
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>3.1.6</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>3.1.6</version>
</dependency>
3. 解压下载下来的CXF压缩包,并通过命令行cd到解压根目录下的bin目录,如下图所示:

注:尽可能使路径不要包括中文或空格
img
img

4. 运行脚本

img

1
2
D:\ProgramTools\apache-cxf-3.1.6\bin>wsdl2java -p cn.eaglefire.webservice -d D:\output webservice地址
*注:-p表示包名,-d表示导出的文件存放位置*

5. 脚本运行完之后,到对应的目录可查看到生成的Java文件

img

6. 将生成的文件复制到对应的项目位置(要将整个包一起复制)
7. 找到对应的类进行初始化以及调用

注:笔者使用的WebService对应的URL是http://xxx.xxx.xxx.xxx/xxx/WebService.asmx?WSDL
请留意最后面的WebService.asmx,采用wsdl2java生成的Java文件将会有一个WebService的文件及WebService类
同理,若后面的名称为MyService.asmx,那么肯定会生成对应的MyService文件及MyService类,这个文件就是用来进行初始化的

1
2
3
4
5
6
7
8
9
10
11
public class Test {

public static void main(String[] args) {
// 初始化
cn.eaglefire.webservice.WebService webService = new cn.eaglefire.webservice.WebService();
WebServiceSoap webServiceSoap = webService.getWebServiceSoap();
// 调用对应的方法
int result = webServiceSoap.serviceMethod("haiying", "haiying", "haiying");
System.out.println("result: "+result);
}
}

8. 其他说明
1
2
// 调用对应的方法
int result = webServiceSoap.serviceMethod("haiying", "haiying", "haiying");

这里的serviceMethod,就是WebService公开的方法,另外,不是每个方法都返回int类型,不要被误导

3. 结语

本教程到此结束,欢迎指正,互相交流。
版权所有,未经允许,请勿随意转载。