Java SE6新特性: XML API 与Web服务
作者: 沈羽, 出处:IBM, 责任编辑: 王尔玉,
2007-11-07 10:24
文章主要介绍 Java SE 6 在 API 库方面的部分新特性,通过一些例子和讲解,帮助开发者在编程实践当中更好的运用 Java SE 6,提高开发效率。本文是系列文章的最后一篇,主要介绍了 Java SE 6 中提供的 XML 处理框架,以及在此框架之上结合注释(Annotation) 技术,所提供的强大的针对 Web 服务的支持。
为 Web 服务的客户端产生存根文件:
wsimport -p sample -keep http://localhost:8080/hello?wsdl
这将会在 sample 目录下产生如 图 8 所示的文件。这一步实际是根据上面 URL 指向的 WSDL 文件,通过 JAXB 技术,生成了相应的 Java 对象。
图 8. wsimport 产生的文件

开发,编译,运行 Web 服务客户程序。清单 10 给出了使用 Hello 服务的客户程序。
清单 10. 使用 Hello 服务的客户程序
| package sample; class HelloApp { public static void main(String args[]) { HelloService service = new HelloService(); Hello helloProxy = service.getHelloPort(); String hello = helloProxy.hello("developer works"); System.out.println(hello); } } |
图 9 是编译并运行该客户程序产生的结果:
图 9. 调用 Hello 服务

可以说在 Java SE 6 SDK 中,Web 服务的开发过程被大大简化了。原来开发中需要手工重复劳动产生的文件,可以使用工具自动生成。比如 WSDL 文件可以自动生成,和 WSDL 绑定的 Java 对象也自动生成,部署(本文仅指 JDK 提供的轻量 HTTP server 部署环境)也大大简化。这些全部归功于 JDK 6 中引入的一些新的 JSR 实现,即一些 API 和工具。表 2 给出了 JDK6 中为 Web 服务 API 提供支持的包。
- 本文关键词:

