快速业务通道

Java SE 6新特性: XML API与Web服务 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19
AP message,实现一个简单的 Web 服务。

清单 9 给出了开发一个 Web services EndPoint 的代码。

清单 9. 一个 Web service‘Hello’服务

package hello; import javax.jws.WebService; import javax.jws.WebMethod; import javax.xml.ws.Endpoint; @WebService public class Hello {   @WebMethod   public String hello(String name) {     return "Hello, " + name + "\n";   }   public static void main(String[] args) {     // create and publish an endpoint     Hello hello = new Hello();     Endpoint endpoint = Endpoint.publish("http://localhost:8080/hello", hello);   } }

使用 apt 编译 Hello.java,产生辅助文件:

apt -d sample example/Calculator.java

运行完这条命令之后,example 目录下面多出了一个 jaxws 子目录如 图 6 所示。Apt 工具在该目录里生成了发布 Hello Web service 所必需的两个辅助文件。

图 6. example 目录

Java SE 6新特性: XML API与Web服务 - 编程入门网

Java SE 6新特性: XML API与Web服务(9)

时间:2011-02-15 IBM 沈羽

发布 Hello Web service:

java -cp sample hello.Hello

将浏览器指向 http://localhost:8080/hello?wsdl 会产生如 图 7 所示页面。

图 7. 发布的 Hello Web service

Java SE 6新特性: XML API与Web服务 - 编程入门网

Java SE 6 SDK 内嵌了一个轻量级的 HTTP Server,方便开发者验证简单的 Web service 功能。通过以上三步,一个 Web service Endpoint 就部署完成,下面将开发一个调用 Hello 服务的客户端。

为 Web 服务的客户端产生存根文件:

wsimport -p sample -keep http://localhost:8080/hello?wsdl

这将会在 sample 目录下产生如 图 8 所示的文件。这一步实际是根据上面 URL 指向的 WSDL 文件,通过 JAXB 技术,生成了相应的 Java 对象。

图 8. wsimport 产生的文件

Java SE 6新特性: XML API与Web服务 - 编程入门网

开发,编译,运行 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);   } }

Java SE 6新特性: XML API与Web服务(10)

时间:2011-02-15 IBM 沈羽

图 9 是编译并运行该客户程序产生的结果:

图 9. 调用 Hello 服务

Java SE 6新特性: XML API与Web服务 - 编程入门网

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

表 2. JDK 中提供 Web 服务 API 支持的包

JSR Package
JSR 224 Java API for XML-Based Web Services 2.0 javax.xml.ws
javax.xml.ws.handler
javax.xml.ws.handler.soap
javax.xml.ws.http
javax.xml.ws.soap
javax.xml.ws.spi
JSR 222

Java Architecture for XML Binding (JAXB) 2.0

javax.xml.bind
javax.xml.bind.annotation
javax.xml.bind.annotation.adapters
javax.xml.bind.attachment
javax.xml.bind.helpers
javax.xml.bind.util
JSR 181

Web Services Metadata for the Java Platform

javax.jws
javax.jws.soap

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号