根据wsdl文件反向生成WebService的客户端与服务端,整合到SpringBoot

爪哇星空 2024-08-09 10:03:01 阅读 79

根据wsdl文件反向生成WebService的客户端与服务端,整合到SpringBoot集成cxf、axis

一、客户端:

工具:SoapUI 5.7.2

使用soapUI生成,先添加生成工具

1、客户端我这边使用cxf来生成,所以首先把cxf的解压缩目录配置到soapUI的工具变量中,需要配置到bin目录;

服务端使用rpc方式,cxf不支持rpc方式,所以我使用axis 1.x来生成

2、新建项目

3、输入项目名称,wsdl地址或者文件,创建请求,点击OK,根据需要可以选择Create TestSuite和其他选项

4. 生成的项目:表名该接口对外提供6个方法

5. 右击【SCServiceServiceSoapBinding】节点,选择【Generate Code】,再选择Apache CXF(注:我这边使用的是cxf,读者可以根据需要使用其他的),如下图:

6、填写生成的代码输出的系统路径,以及生成代码的所放的包路径,因为我这边需要的是生成webservice的服务端,所以我选择的是【Implementation】,生成实现webservice接口的子类。其中【Client】会生成一个调用客户端,生成webservice客户端需要用到了,而Server可以用来把生成的代码,发布为一个接口,根据需要选择。最后点击【Generate】生成代码。

7、最后生成成功,如下图:注意图中的wsdl2java就是利用了apache cxf安装文件夹的wsdl2java.bat生成的

8、 在系统F盘下面找到如下的代码

9、直接引入到项目中使用

10、Maven所需CXF对应的依赖

<properties>

<cxf.version>3.5.8</cxf.version>

</properties>

<!-- CXF对应的依赖 -->

<dependency>

<groupId>org.apache.cxf</groupId>

<artifactId>cxf-core</artifactId>

<version>${cxf.version}</version>

</dependency>

<dependency>

<groupId>org.apache.cxf</groupId>

<artifactId>cxf-rt-frontend-jaxws</artifactId>

<version>${cxf.version}</version>

</dependency>

<dependency>

<groupId>org.apache.cxf</groupId>

<artifactId>cxf-rt-transports-http-jetty</artifactId>

<version>${cxf.version}</version>

</dependency>

踩坑警告:客户端的wsdl必须能够访问,项目才能启动成功,否则会一直卡在项目加载

参考:根据wsdl反向生成webservice服务端(3种方法)_wsdl反向生成服务端-CSDN博客

二、服务端:

参照:SpringBoot集成axis发布WebService服务_springboot axis-CSDN博客



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。