为了解决第一节中我们要不依赖于服务器端调用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)); } }