idea 中 webservice 代码自动生成与使用 (maven项目)

tech2024-07-15  65

idea 中 webservice 代码自动生成与使用 (maven项目)

webservice是一种可以跨平台和跨语言交流的技术,在特定场合使用很多。但原始使用比较复杂,不过还好idea中提供了对应的支持。由于初始使用的时候总是搞不明白idea中的操作,所以在查阅一些资料并且亲自操作后,想总结一个比较稳定的使用方式。正文如下:

1、首先确认项目模块中没有引入webservice,因为一旦模块中引入webservice,后面的步骤只能局限于该模块指定的方式。确认模块中是否有webservice可以通过 file -> project stucture -> module 查看,如果有,可以删除,不过一般项目也不会引入这块。

2、引入关键maven依赖

<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.2</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.axis</groupId> <artifactId>axis-jaxrpc</artifactId> <version>1.4</version> </dependency> <dependency> <groupId>org.apache.axis</groupId> <artifactId>axis-saaj</artifactId> <version>1.4</version> </dependency> <dependency> <groupId>wsdl4j</groupId> <artifactId>wsdl4j</artifactId> <version>1.4</version> </dependency> <dependency> <groupId>com.sun.mail</groupId> <artifactId>javax.mail</artifactId> <version>1.4.5</version> </dependency> <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7</version> </dependency> <dependency> <groupId>javax.activation</groupId> <artifactId>activation</artifactId> <version>1.1.1</version> </dependency>

maven依赖这块一定要注意,尽量安装直接整体复用上述依赖,不然有可能就因为缺少某个依赖而生产webservice代码失败。每个依赖具体的作用我也不是很清楚,这块搞了好久,很多报错都是依赖的问题,最后参考一位客友的文章才解决的(https://blog.csdn.net/a13409676250/article/details/53196168)。

3、使用idea的Generate Java Code From Wsdl 生成webservice代码

这一步注意右击的是项目,而不是菜单条中的File

另外有的版本右击项目没有WebService项目,可以进入菜单条的tool中进行查看。

4、生成代码项配置

5、正常生成的包与src同级,而我们的包可能在src的子目录下,这个时候可以视情况转移包里面的类。

而我们对webservice接口的调用,可以参考测试类中的使用。

另外本人测试使用过如下方式生成:

 

其生成的类比较多,会包含许多不需要的对象,所以新手调用webservice,还是建议使用axis的方式。当然其它方式也有各自的特性和使用场景,如果有兴趣的可以再看。

如果有错误和不足之处,欢迎各位大佬指导!

最新回复(0)