【JAVA】 cxf 生成 webservice 服务端代码

CXF

  Apache CXF = Celtix + XFire。CXF 继承了 Celtix 和 XFire 两大开源项目的精华,提供了对 JAX-WS 全面的支持,并且提供了多种 Binding 、DataBinding、Transport 以及各种 Format 的支持,并且可以根据实际项目的需要,采用代码优先(Code First)或者 WSDL 优先(WSDL First)来轻松地实现 Web Services 的发布和使用。
  这次小编的需求是,利用CXF生成webservice服务端代码,导出为java文件。

生成 webservice 服务端代码

1. 下载安装CXF

(1)下载apache cxf,如apache-cxf-3.0.16.zip
(2)将CXF解压到某一目录,如D:\instrument\java\apache-cxf-3.0.16

2. 环境变量配置

(1)增加:CXF_HOME=D:\apache-cxf-2.7.10
(2)编辑:在path后面加上 %CXF_HOME%/bin;
(3)测试配置结果:在dos窗口输入“wsdl2java”,配置成功的结果如下:
这里写图片描述

3. 运行wsdl2java工具,导出java文件

在dos窗口进入CXF安装的bin目录,输入以下命令:

wsdl2java -d D:\eclipse\JavaService -verbose http://localhost/services/UFIDA.U9.ISV.SM.ICommonCreateManageSellFeeSRV.svc?wsdl

注:(1)localhost根据具体情况,也可以写成ip
        (2)-d <客户端代码输出路径>
                  -verbose<服务地址>

如果配置成功,会提示以下信息:
这里写图片描述
此时,目标导出文件路径(D:\eclipse\JavaService)会生成如下目录:
这里写图片描述

其他

1. 输入wsdl相关命令,dos窗口提示“文件名、目录名或卷标语法不正确”

原因:(1)CXF环境变量配置错误
            (2)JAVA_HOME变量多于一个

2. wsdl2java

(1)wsimport   <—–>   wsdl2java
JDK:提供了命令 ” wsimport ” ,用于将WebService生成客户端代码
CXF:提供了命令 ” wsdl2java ” ,用于根据WSDL生成客户端代码
(2)wsdl2java用法

-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.

其他wsdl2java参数解释见链接。

猜你喜欢

转载自blog.csdn.net/LJL55555/article/details/80337775