使用java(springboot)调用webservice接口

2024-01-17  本文已影响0人  CaesarH000

前言

为什么这个年头还有使用webservice接口的项目啊!而且给的接口文档缺斤少两!webservice接口用起来真的又臭又长!

背景介绍

项目要和另外一个系统对接,但系统提供的接口只有webservice形式的,对于开发人员的要求就是使用webservice接口进行对接。

开发过程

使用idea创建/拉取webservice客户端

一般情况下,webservice会提供一个wsdl文件或地址,在其中能找到所有方法的相关配置,使用idea可以直接生成相关的类。
在setting-->plugins中,安装相关的webservice插件。


servicePlugind

在项目架构中,选择下载下来的wsdl文件,或直接选择一个空文件夹。在tools中,找到webservice相关的generate功能。根据idea版本的区别,这个功能出现的形式也有所区别,大家仔细找一下。


生成代码
在页面中,输入wsdl文件的地址,选择代码要生成的位置,勾选generate testCase按钮,如果查看wsdl需要登录,输入对应的用户名和密码。
generate
此时,控制台该报错了[doge]

不要急,把下面这些包的引用复制进pom中,再尝试上述步骤。如果控制台输出的只有warning没有error,那么,代码生成成功。

        <dependency>
            <groupId>org.apache.axis</groupId>
            <artifactId>axis</artifactId>
            <version>1.4</version>
        </dependency>
        <dependency>
            <groupId>commons-discovery</groupId>
            <artifactId>commons-discovery</artifactId>
            <version>0.5</version>
        </dependency>
        <dependency>
            <groupId>org.apache.axis</groupId>
            <artifactId>axis-jaxrpc</artifactId>
            <version>1.4</version>
        </dependency>
        <dependency>
            <groupId>jakarta.xml.soap</groupId>
            <artifactId>jakarta.xml.soap-api</artifactId>
            <version>1.4.1</version>
        </dependency>
        <dependency>
            <groupId>com.sun.xml.messaging.saaj</groupId>
            <artifactId>saaj-impl</artifactId>
            <version>1.5.1</version>
        </dependency>
        <dependency>
            <groupId>javax.activation</groupId>
            <artifactId>activation</artifactId>
            <version>1.1.1</version>
        </dependency>
        <!-- 邮件start -->
        <dependency>
            <groupId>javax.mail</groupId>
            <artifactId>mail</artifactId>
            <version>1.4.7</version>
        </dependency>
        <dependency>
            <groupId>wsdl4j</groupId>
            <artifactId>wsdl4j</artifactId>
            <version>1.4</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13</version>
            <scope>compile</scope>
        </dependency>

如果找不到生成的代码,试试右键文件-->reload from disk


reload

生成的代码结构如下


生成的代码

找到系统自动生成的测试类,调用相关方法,就可以看到接口调用情况了。按照测试类给的方法,进行cv工作,相信大家都会的,对吧。


部分测试代码
上一篇下一篇

猜你喜欢

热点阅读