前言
为什么这个年头还有使用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工作,相信大家都会的,对吧。
部分测试代码
网友评论