目录
1、wsimport命令介绍
- wsimport命令是JDK自带的命令,它能够根据服务端说明书(wsdl)生成对应的本地java代码,wsimport命令对应的参数信息如下:
命令名称 | 用法 | 举例 |
-encoding | 指定编码格式 | -encoding utf-8 |
-keep | 生成java源文件 | -keep |
-d | 指定.class文件的输出目录 | -d 路径 |
-s | 指定.java文件的输出目录, 此目录必须存在 | -s 路径 |
-p | 定义生成类的包名,不定义的话有默认包名 | -p 路径 |
-verbose | 在控制台显示输出信息 | |
-b | 指定jaxws/jaxb绑定文件或额外的schemas | |
-extension | 使用扩展来支持SOAP1.2 |
- 例如:“wsimport -encoding utf-8 -s D:\IdeaProjects\WebService\FirstWebService_Client\src -p com.test.service.impl http://localhost:8080/WeatherService?wsdl”命令就是指在D:\IdeaProjects\WebService\FirstWebService_Client\src路径下级联创建com\test\service\impl文件夹,然后依照“http://localhost:8080/WeatherService?wsdl”说明书来生成对应的java文件到该路径下,不生成class文件。
2、wsimport命令常见问题处理
2.1、问题描述
- 在使用wsimport命令将“http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl”说明书转成对应的java文件时出现如下错误:
2.2、解决步骤
- 在浏览器窗口打开“http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl”说明书,然后右击鼠标选择“查看网页源码”,然后复制打开的网页源码中的内容,在本地新建一个“.wsdl”格式的文件来保存复制的内容(我的这个文件创建在“D:\wsimport”路径中,文件名为:weather.wsdl):
- 将内容中的“<s:element ref="s:schema" /><s:any />”全部替换为“<s:any minOccurs="2" maxOccurs="2" />”保存
- 然后在CMD窗口输入“wsimport -encoding utf-8 -s . D:\wsimport\weather.wsdl”命令即可成功生成java文件了。