Java EE 5中的Web服务(JAX-WS)2011-01-28Java API for XML Web Services (JAX-WS) 2.0,JSR 224 是 Java EE 5 平台的重要组成部分。作为 Java API for XML-based RPC 1.1 (JAX-RPC) 的后续发行版本,JAX-WS 简化了使用 Java 技术开发 Web 服务的工作。并且通过对多种协议(如 SOAP 1.1、SOAP 1.2、XML)的支持,以及提供用于支持其他协议和 HTTP 的工具,它解决了 JAX-RPC 1.1 中存在的一些问题。JAX-WS 使用 JAXB 2.0 提供数据绑定服务,并支持通过定制来控制生成的服务端点接口。通过对标注的支持,JAX-WS 简化了 Web 服务开发,并缩小了运行时 JAR 文件的大小。本文档向您介绍了一些有关使用 IDE 来开发 JAX-WS Web 服务以及在三个不同的客户端(Java SE 应用程序中的 Java 类、Web 应用程序中的 Servlet 或 JSP 页)中使用该服务的基础知识。在本文档中创建的三个客户端是独立的应用程序,它们都使用同一个 Web 服务。安装并配置教程环境如果尚未注册 Sun Java System Application Server 9.0 的实例,则必须先进行注册,然后才可以着手开发 Java EE 5 应用程序:从主窗口中,选择“工具”>“服务器管理器”。单击“添加服务器”。选择 "Sun Java System Application Server",并为此实例指定一个名称,然后,单击“下一步”。指定服务器信息、应用服务器本地实例的位置以及要将 Web 服务部署到的域。单击“完成”。注意:也可以部署到 Tomcat Web Server,但由于它仅具有一个 Web 容器,因此应在下一部分创建 Web 应用程序,而不是 EJB 模块。与 JSR-109 Web 服务不同的是,JAX-WS Web 服务可以成功地部署到 Tomcat Web 容器中。创建 Web 服务本练习的目的是创建一个适用于您决定使用的部署容器的项目。在建立项目后,您将在其中创建 Web 服务。选择容器您可以在 Web 容器或 EJB 容器中部署 Web 服务。这要取决于具体的选择。例如,如果您计划部署到仅具有 Web 容器的 Tomcat Web Server 上,则应该选择创建 Web 应用程序,而不是 EJB 模块。选择“文件”>“新建项目”(Ctrl-Shift-N)。从 "Web" 类别中,选择“Web 应用程序”,或者从“企业”类别中,选择“EJB 模块”。将项目命名为 CalculatorWSApplication。根据要使用的部署服务器,请执行以下操作:对于 Sun Java System Application Server,将 J2EE 版本设置为 "Java EE 5"。对于 Tomcat Web Server,请取消选中“将源代码级别设置为 1.4”复选框。单击“完成”。通过 Java 类创建 Web 服务右键单击 CalculatorWSApplication 节点,然后选择“新建”>“Web 服务”。将 Web 服务命名为 CalculatorWS,在“包”中键入 org.me.calculator,然后单击“完成”。将在“项目”窗口中显示新建的 Web 服务。例如,对于 Web 应用程序,现在“项目”窗口将如下所示:

IDE 将自动创建服务器所需的部署描述符(如果存在)。对于 Sun Java System Application Server,则不需要部署描述符。对于部署到 Tomcat Web Server 的 Web 服务,将添加 sun-jaxws.xml 以及 web.xml 中的 WSServlet 项。