为了解决第一节中我们要不依赖于服务器端调用webservice,我们可以通过JDK自带的wsdl命令生成一系列文件,然后交给服务器端即可
1.wsimport -d d:/webservice/02/ -keep -verbose http://localhost:6666/ns?wsdl
2.wsimport -d d:/webservice/02/ -keep -p test -verbose http://localhost:6666/ns?wsdl
-d:指明目录
-keep:生成class文件的同时也会生成java文件
-verbose:生成详细信息
-p:指定包名
public class TestCilent {
public static void main(String[] args) {
URL url;
try {
url = new URL("http://localhost:6666/ns?wsdl");
QName sname = new QName("http://my.test/","MyServiceImplService");
Service service = Service.create(url, sname);
IMyService ms = service.getPort(IMyService.class);
System.out.println(ms.add(12,33));
}
catch (MalformedURLException e) {
e.printStackTrace();
}
}
简化后:
public class TestCilent1 {
public static void main(String[] args) {
//直接通过生成的MyServiceImplService代替原来的service,获取接口,达到了简化
MyServiceImplService msis = new MyServiceImplService();
IMyService ms = msis.getMyServiceImplPort();
System.out.println(ms.add(12,33));
}
}