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

avatar
作者
猴君
阅读量:4

根据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博客

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!