- 介绍
WebService是一个基于XML格式传输的跨语言的协议,它并不关心服务的发布者和调用者是用什么方式来实现的。
- 三要素
SOAP(Simple Object Access Protocol),描述传递信息的格式
WSDL(Web Services Description Language),描述如何访问具体的接口
UDDI(Universal Description,Discovery and Integration),管理、分发、查询WebService
- 生成客户端
wsimport -keep -p org.suren -s src http://localhost:18080/bundle-server?wsdl
参数解释:keep该参数不知道有什么用,-p为输出的包结构,-s指定源码的输出目录
问题:生成的代码中已经写死了WebService的地址,而且生成的代码会比较多,接口的每个方法都会对应一个类文件。
使用方法如下:
[codeSyntax lang="java"]
IBundleServer server = new IBundleServer(); IBundleServerPortType serverPort = server.getIBundleServerPort(); ArrayOfGBundle a = serverPort.getAll();
[/codeSyntax]
上面的IBundleServer就是你定义的WebService接口类,在生成的代码中中已经变成了类似工厂类而不再是接口(interface)了。另外, getAll方法返回的本来是一个集合(List),在这里也变成了一个ArrayOfGBunlde。