我的WebService学习第二课
接着上节课的学习,怎样才能忽略掉这种依赖性呢?Server端一旦发布好webservice服务之后,对外只会提供调用的接口,那外部该怎么调用呢?
Java (1.6以上) 本身提供了一个wsimport命令,可以将Server端发布的webservie导出,并且可以根据命令参数的不同从而导出不同的效果。
附件里有具体的参数描述,这里解析一条常用的命令:
> wsimport -d d:/01 -keep -verbose
-d d:/ -> 表示导出的目录
-keep -> 导出之后保留源文件
-verbose -> 显示具体的导出信息
这样,通过wsimport命令,可以将server端的webservice导出,这时候可以根据导出的包在另一端进行开发,从而依然可以实现第一节课的client调用效果。
参考可见附件截图。以下是客户端的调用类写法:
写法一:与第一节课完全一致
写法二:TestClient2.java
public class TestClient2 {
public static void main(String[] args) throws MalformedURLException {
MyServiceImplService misc = new MyServiceImplService();
IMyService is = misc.getMyServiceImplPort();
System.out.println(is.minus(44, 23));
}
}
可以比较与第一节课里的client端调用不同:
首先最终都需要生成IMyService实例,只是这个实例的生成已经被封装了。