通过JDK(带用户名密码)和idea生成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中没有则需要自己添加
    通过JDK(带用户名密码)和idea生成WebService客户端代码_第1张图片
  3. 自己添加:

通过JDK(带用户名密码)和idea生成WebService客户端代码_第2张图片
通过JDK(带用户名密码)和idea生成WebService客户端代码_第3张图片
通过JDK(带用户名密码)和idea生成WebService客户端代码_第4张图片

  1. 提示需要安装插件如图所示,点击yes
  2. 弹出需要重启选择restart即可
  3. 重启后之后我点击项目然后选择webservice选项,找不到的就在tools中
    提示:如果是从tools中进去的可能会找不到【generate java code from wsdl】下图这样,那是因为你没有选择自己的项目,选择之后就有了通过JDK(带用户名密码)和idea生成WebService客户端代码_第5张图片通过JDK(带用户名密码)和idea生成WebService客户端代码_第6张图片
  4. 弹窗中填入如图所示的信息。其中wsdl.wsdl文件是url中显示的xml内容保存文件到本地,并修改文件扩展名称为**.wsdl

通过JDK(带用户名密码)和idea生成WebService客户端代码_第7张图片

博主在点击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客户端代码到此就已经完成,祝各位码农早日找到另一半,多出去走走

你可能感兴趣的:(WebService,web,service,java)