对于来自互联网上的一些webservice服务,可以通过以下方式使用。
【第一步:执行命令得到客户端代码】
通过命令 · wsimport -s . -p org.lhn.code -verbose http://www.webxml.com.cn/WebServices/TraditionalSimplifiedWebService.asmx?wsdl ·
对应位置请替换。
-keep:是否生成java源文件
-d:指定.class文件的输出目录
-s:指定.java文件的输出目录
-p:定义生成类的包名,不定义的话有默认包名
-verbose:在控制台显示输出信息
-b:指定jaxws/jaxb绑定文件或额外的schemas
-extension:使用扩展来支持SOAP1.2
【第二步:通过得到的代码,写出Client程序】
在org.lhn.code包的目录结构外侧新建client.java,内容如下:
package org.lhn.code;
public class Client {
public static void main(String[] args){
TraditionalSimplifiedWebService ws = new TraditionalSimplifiedWebService();
TraditionalSimplifiedWebServiceSoap wss = ws.getTraditionalSimplifiedWebServiceSoap();
String str = wss.toTraditionalChinese(args[0]);
System.out.println(str);
}
}
编译 javac -d . Client.java
【第三步:测试】
重点在于第二步,由于不同的webservice的个体差异,导致wsimport导出的客户端程序也不同,在书写Client的时候要点在于
Soap对象的创建,然后通过Soap对象的相关方法,实现想要的功能。
XXWS ws = new XXWS();
XXWSSoap wss = ws.getXXXXXSoap();
wss.method();
基本上都是这个套路,其中WS,有时候是全写WebService