使用wsimport.exe 生成客户端代码
使用JDK的bin文件夹中,有一个wsimport.exe,这个工具依据wsdl文件生成相应的类文件,然后用这些文件就可以像调用本地类一样调用本地的类一样调用webservice提供方。
该工具可以用于非java的服务器,如c#编写的webservice,通过wsimport则生成java客户端实现。
在命令提示符中使用如下命令:
wsimport -p com.demo.client http://localhost:8080/Demo/services/Myservices?wsdl
命令参数:
-d <directory>
在指定的目录生成class文件
-clientjar <jarfile>
在当前目录生成jar文件,结合-d <directory>可以在指定的目录生成jar文件
-s <directory>
在指定的目录生成java源文件
-p <pkg>
指定生成文件的包结构
-keep
在生成class文件,或者jar包时,同时保留java源文件
wsdl 也可以使用本地文件
ssgao:cxf aouo$ ls
main offsite.wsdl user.wsdl
ssgao:cxf aouo$ wsimport -s ./main/init -p main.init user.wsdl
正在解析 WSDL...
正在生成代码...
正在编译代码...
如此即可在main.init文件夹生成对应的java文件
客户端测试
import java.net.URL;
public class Main {
public static void main(String[] args) {
URL url = new URL("http://10.10.21.224:8087/wzzhglfxzf/webservice/user?wsdl");
UserWebService_Service ss = new UserWebService_Service(url);
UserWebService service = ss.getUserWebServicePort();
String result = service.login("admin","111111");
}
}