安装apache-cxf方法,使用wsdl2java命令从WSDL生成javaService代码
·
文章目录
1、下载apache-cxf二进制文件
解压下载后的压缩包(放在你习惯的位置)
2、配置apache-cxf环境变量
2.1 新增系统环境变量CXF_HOME
值为刚刚解压的apache cxf文件路径
2.2 将CXF_HOME添加到系统环境变量Path中
%CXF_HOME%\bin


3、查看环境变量是否生效
wsdl2java -help

4、wsdl2java生成代码方法
4.1 方法1(已测试可行)
wsdl2java -encoding utf-8 -d D://temp http://xxx.xxx.xxx.xxx:0000/xxx?wsdl
将在D://temp目录下生成代码。
4.2 方法2(未测试)
在项目的路径下,执行
wsdl2java -p com.sample.client -d src/main/java http://xxx.xxx.xxx.xxx:0000/xxx?wsdl
将在src/main/java/com/example/client目录下生成代码。
5、pom引入jakarta依赖
<!-- Jakarta XML Web Services API -->
<dependency>
<groupId>jakarta.xml.ws</groupId>
<artifactId>jakarta.xml.ws-api</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>jakarta.xml.bind</groupId>
<artifactId>jakarta.xml.bind-api</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>5.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>jakarta.servlet.jsp</groupId>
<artifactId>jakarta.servlet.jsp-api</artifactId>
<version>2.3.6</version>
<scope>provided</scope>
</dependency>
<!-- Jakarta XML SOAP API -->
<dependency>
<groupId>jakarta.xml.soap</groupId>
<artifactId>jakarta.xml.soap-api</artifactId>
<version>3.0.0</version>
</dependency>
<!-- 实现依赖 -->
<dependency>
<groupId>com.sun.xml.messaging.saaj</groupId>
<artifactId>saaj-impl</artifactId>
<version>3.0.0</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-rt</artifactId>
<version>4.0.0</version>
</dependency>
6、调用WSDL接口代码方法
6.1 客户端代码嵌入项目
比如客户端代码生成后的列表如下
可以将com文件夹直接复制到自己项目的src.main.java下面。
【做好备份,如果不小心改动了客户端代码,可以比较,不用再去生成一遍】
6.2 调用客户端代码(作为参考,以下是业务调用的wsdl代码,不一定都一样)
找到客户端代码中注解为@WebServiceClient的类,这就是客户端入口类
以下是使用示例
public static void main(String[] args) {
Webservice webservice = new Webservice();
// getWebServicePort获取到对应的@WebService注解的类
TestWebService testWebService = webservice.getWebServicePort();
// methodName为方法名,传入接口需要的参数即可,返回值就是接口的返回值
testWebService.methodName("",...);
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)