您的位置:首页 > 娱乐 > 明星 > wsdl 生成 java 客户端代码方法总结

wsdl 生成 java 客户端代码方法总结

2024/10/5 20:17:20 来源:https://blog.csdn.net/u012723183/article/details/142200946  浏览:    关键词:wsdl 生成 java 客户端代码方法总结

1、解决办法汇总

  • SoapUI工具
  • wsimport工具
  • Axis2 的 wsdl2java工具
  • Apache CXF 工具
  • easyWSDL工具
  • Eclipse (如果开发金蝶 EAS 功能,尽量也用 eclipse 生成,避免问题)   
    • eclipse202109网盘链接
    • Eclipse 官方下载链接
    • 金蝶EAS官方提供办法
  • IDEA 老办法

🎯 如果你又 Exlipse 或者老版 IDEA(即有 Application web 选项)那么建议用这两种

📌 如果这两种不支持,那么建议第一种

2、生成WSDL客户端代码方法

WSDL 教程 | 菜鸟教程

2.1 通过 SoapUI 生成

  • 工具:
    • Axis 下载:Index of /dist/ws/axis
    • soapUI 下载:Download REST & SOAP Automated API Testing Tool | Open Source | SoapUI
  • 教程:通过wsdl文件生成 WebService客户端代码 - 简书
  • 注意:如果遇到问题,请先看一下《2.2.2 使用 Axis 的 wsdl2java 工具【推荐】》章节

步骤如下:

找到 Axis 安装路径

  • 注意:如果遇到问题,请先看一下《2.2.2 使用 Axis 的 wsdl2java 工具【推荐】》章节

2.2 安装包工具

2.2.1 通过wsimport生成

  • 教程:wsimport wsdl 转 java_mob64ca12d4650e的技术博客_51CTO博客
  • 前提:安装了
  • wsimport命令提供了一些常用的选项,用于指定生成的Java代码的配置。以下是一些常用选项的介绍:
    • -s <directory>:指定生成的Java源文件的输出目录,默认为当前目录。
    • -p <package>:指定生成的Java类的包名,默认为根据命名空间自动生成。
    • -d <output-directory>: 指定编译后的类文件输出目录。
    • -keep:这个选项表示生成的源代码文件不会被删除。
    • -extension:支持处理WSDL中的SOAP扩展元素。
    • -Xnocompile:将每个Java文件生成为单独的源文件,而不编译它们。
    • -encoding:指定生成的java文件的编码
    • -wsdllocation:指定生成的java中wsdl的路径
    • wsdl文件路径:通常会将wsdl保存为本地文件
# 示例命令
wsimport -keep -s <source-directory> <wsdl-url>
wsimport -p com.example.client -d bin -b bindings.xml http://example.com/service?wsdl# 示例
wsimport -keep -s src -d bin http://example.com/service?wsdl

2.2.2 使用 Axis 的 wsdl2java 工具【推荐】

  1. 下载并解压 Axis2:Apache Axis2 – Releases
    • 安装版:📎axis2-1.8.2-bin.zip
    • IDEA 插件版:📎axis2-idea-plugin-1.8.2.zip
    • 系统环境变量
      • 新增:AXIS2_HOMEC:\Users\star\Desktop\zips\axis2-1.8.2-bin\axis2-1.8.2
      • Path:%AXIS2_HOME%\bin
      • 验证:wsdl2java -version
  1. 安装 jdk:Java Downloads | Oracle 中国
  2. 打开命令行工具,运行以下命令生成客户端代码:
wsdl2java -uri <wsdl地址> -p com.example.client -d adb -s -o <输出目录># 示例:
wsdl2java -uri /Users/javastarboy/work/projects/helloworld.wsdl -p com.example.client -d adb -s -o /Users/javastarboy/work/projects/temp
  • -uri: 指定 WSDL 文件的路径。
  • -p: 指定生成的 Java 文件的包名。
  • -d adb: 指定数据绑定类型,这里使用 ADB(Axis2 Data Binding)。
  • -s: 保留生成的源文件。
  • -o: 指定输出目录。
  1. 注意,问题:
    • 关于 Axis1.4版本还是 2.0 版本,需要看 wsdl 版本号是多少,我一开始用 2.0 版本折腾半天,后来发现 wsdl 是 1.4.1 版本,所以我们无论在使用 SoapUI 还是 wsdl2java 时,都要注意版本号问题
    • 另外,在使用 Axis2.x 时,不知道为啥会报错 java_home 找不到问题,这里解决办法是在 wsdl2java 启动文件中手动配置一下 java 环境变量即可
      • mac:修改~/axis2-1.8.2/bin/wsdl2java.sh
# 追加如下两行
export JAVA_HOME=$(/usr/libexec/java_home)
export PATH=$JAVA_HOME/bin:$PATH# 下面是原来就又得
dir=`dirname "$0"`
sh "$dir"/axis2.sh org.apache.axis2.wsdl.WSDL2Java $*
      • windows:修改~/axis2-1.8.2/bin/wsdl2java.bat
# 追加如下两行
set JAVA_HOME=你的sdk路径

2.2.3 使用 Apache CXF 的 wsdl2java 工具

  1. 下载并解压 Apache CXF。
  2. 将 CXF 的 bin 目录添加到系统的 PATH 环境变量中。
  3. 打开命令行工具,运行以下命令生成客户端代码:
wsdl2java -d /Users/javastarboy/work/projects/temp -p com.example.client /Users/javastarboy/work/projects/helloworld.wsdl
  • -d: 指定输出目录。
  • -p: 指定生成的 Java 文件的包名。

2.3 IDEA 老办法

Application Web 的 Java EE 插件法,但是现在已经没有这个选项了,大家如果有老版本 IDEA 可以试试

  • 利用idea生成webservice客户端超详解步骤(wsdl文件的使用)_java_脚本之家
  • idea wsdl生成java代码工具 idea生成wsdl客户端代码_mob64ca1407d5aa的技术博客_51CTO博客

2.4 通过 easyWSDL 生成

工具很好用,但是后来发现收费的,蛋疼

2.4.1 准备工作

1、安装 easyWSDL 插件,然后重启 IDEA

2、官网注册账号

  • The World’s leading WSDL client generator
  • 注意,不要使用右侧快捷登录,请使用左侧注册

注册完,先等等,我们先准备 wsdl 配置文件到项目中

2.4.2 获取 wsdl 文件

  • importAccountViewData:这是一个接口
  • 类似的下马的 uploadDat,importBill 等等都是接口

  • 点击蓝色的 wsdl 可以获得wsdl 详细文件
  • 右键另存为文件后会存储问 .xml 格式,需要手动修改为 .wsdl格式

2.4.3 根据 .wsdl 逆向工程生成 java 文件

1、将所有你需要的 wsdl 文件放于项目中

2、项目根目录处右键,然后点击 EasyWSDL-Add web service

3、首次使用,会提示登录,就是第一步咱们注册的账号密码,输入点击 ok 即可

4、然后进入如下页面

点击右侧 ...然后选中你要生成的 wsdl(也可以默认项目根生成全部)

改为 java 语言,点击 ok

生成后的效果

🎯 说明

  • 这里文件生成应该支持按指定路径生成,这样就不用手动调整文件路径了
    • 另一个插件支持,但是现在找不到了,大家可以搜搜,教程如下利用idea生成webservice客户端超详解步骤(wsdl文件的使用)_java_脚本之家
  • 我们也可以直接到官网去生成,也很方便,但是完整版收费!!!

2.3.4 官网生成java文件

  • 网址:Log in

3、soapUI 测试工具

  • WSDL测试工具:Download REST & SOAP Automated API Testing Tool | Open Source | SoapUI
  • 教程:java webservice 根据wsdl文件生成客户端代码;webservice可视化测试工具SOAPUI;乱码。_51CTO博客_jdk生成webservice客户端

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com