通过JDK(带用户名密码)和idea生成WebService客户端代码

标签: WebService

通过JDK(带用户名密码)和idea生成WebService客户端代码

方式一:通过jdk自带的wsimport生成客户端代码
语法:wsimport  -d [下载代码的存储位置] -p [代码的包路径]  -Xauthfile [校验文件的地址] -keep -verbose [wsdl地址]
  1. 下载代码的存储位置:就是你项目的位置,指向java目录
  2. 代码的包路径:java目录下的包路径
  3. 校验文件的地址:这个文件需要自己创建(只针对wsdl需要验证用户和密码的地址),验证文件authfile.txt内容如下,文件位置和文件名可以自己定义,比如wsdl地址是:http://11.22.33.com:8888/XXX?wsdl,则authfile.txt的写法如下:
http://用户名:密码@00.00.00.com:8888/XXX?wsdl
  1. 最终执行命令:
simport -d F:\code -Xauthfile -p  F:\authfile.txt -keep wsdl的url
方式二:通过idea生成WebService客户端代码

前期准备:

  1. 在浏览器中访问你的wsdl地址,浏览器会返回一个xml文件给你,将此文件保存到你的电脑中,得到 xxx.xml文件,将后缀名改为wsdl。
  2. IDEA中项目右键菜单中–>webservice–> Generate Java Code From Wsd,如果右键菜单中没有webservice没关系,是因为你的idea版本的原因,可以在Tools中找到,如果Tools中没有则需要自己添加
    在这里插入图片描述
  3. 自己添加:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 提示需要安装插件如图所示,点击yes
  2. 弹出需要重启选择restart即可
  3. 重启后之后我点击项目然后选择webservice选项,找不到的就在tools中
    提示:如果是从tools中进去的可能会找不到【generate java code from wsdl】下图这样,那是因为你没有选择自己的项目,选择之后就有了在这里插入图片描述在这里插入图片描述
  4. 弹窗中填入如图所示的信息。其中wsdl.wsdl文件是url中显示的xml内容保存文件到本地,并修改文件扩展名称为**.wsdl

在这里插入图片描述

博主在点击OK的时候,出现过报错信息:java.lang.ClassNotFoundException: javax.xml.soap.SOAPException

后来查询那是因为没有增加axis和soap依赖,因为我们之前选择请求的就是axis,所以添加POM依赖

		<dependency>
            <groupId>org.apache.axis</groupId>
            <artifactId>axis</artifactId>
            <version>1.4</version>
        </dependency>
        <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2</artifactId>
            <version>1.3</version>
        </dependency>
		<dependency>
            <groupId>javax.xml.soap</groupId>
            <artifactId>javax.xml.soap-api</artifactId>
            <version>1.4.0</version>
        </dependency>

搞定!

接下来就可以看到生成的客户端代码了,使用IDEA根据wsdl生成WebServices客户端代码到此就已经完成,祝各位码农早日找到另一半,多出去走走

版权声明:本文为hzxuncle原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/hzxuncle/article/details/106525612