使用注释创建 Web Service

通过 Java™ API for XML-Based Web Service,您可以在 Java 代码中使用注释来简化创建 Web Service。

Java API for XML-Based Web Services (JAX-WS) 编程标准依赖于使用注释来指定与 Web Service 实现相关联的元数据。 该标准还依赖于注释来简化 Web Service 的开发。注释描述了 Web Service 的两个方面:如何将服务器端的服务实现作为 Web Service 进行访问,以及客户端的 Java 类如何访问 Web Service。

JAX-WS 编程标准支持将 Java 类进行注释,该 Java 类具有用于将服务端点应用程序定义为 Web Service 的元数据以及用于指定客户机如何访问服务的元数据。JAX-WS 标准支持使用基于多个 Java 规范请求 (JSR) 的注释: 通过使用 JSR 181 标准中的注释,您可以对服务实现类或服务接口进行注释。然后,您可以使用向导或通过将应用程序发布至服务器来生成 Web Service。同时在 Java 源代码和 Java 类中使用注释会简化 Web Service 开发。 如果通过这种方式使用注释,那么它会定义通常从部署描述符文件、Web 服务描述语言 (WSDL) 文件或从 XML 和 WSDL 至源工件的映射元数据中获取的更多信息。

您可以使用注释来配置绑定和处理程序链,也可以设置 portType、服务和其他 WSDL 参数的名称。 还可以使用注释在构建时将 Java 映射至 WSDL 和模式,在运行时控制 JAX-WS 运行时处理和响应 Web Service 调用的方式。

该产品在您通过 Web Service 客户机向导创建的客户机中使用注释。该向导会生成客户机代理和带有注释的静态服务类。这些注释指定客户机如何访问 Web Service。

有关您可以使用的注释的详细信息,请参阅相关参考。

基于注释且受支持的 Web Service 方案

以下 Web Service 方案受工具和 WebSphere® 运行时环境支持:

表 1. 受支持的运行时环境. 受基于注释的 Web Service 场景支持的运行时。
方案 Runtime environment 意见
自底向上 Java Bean WebSphere Application Server V7.0 及更高版本 可以通过单独使用注释或将注释与 Web Service 向导组合使用来完成。如果该 Bean 已具有 @javax.jws.WebService 注释,那么将禁用向导中的许多字段,因为向导不需要为您生成委派 Bean。您只能够选择生成 WSDL 文件。 如果只将 @javax.jws.WebService 添加至 Java Bean 并且要启用其他选项(例如 SOAP 1.2 绑定或 MTOM),请退出该向导并移除注释或通过使用注释文档继续创建 Web Service。该向导不允许您将新注释附加至已存在且已部分添加注释的 Bean。
自底向上 EJB 2.x None 不支持使用注释
自底向上 EJB 3.0 WebSphere Application Server V7.0 及更高版本 不能混合使用注释和 Web Service 向导。必须使用注释并将 EJB Bean 部署至应用程序服务器。
中间会合 Java Bean WebSphere Application Server V7.0 及更高版本 此方案允许您使用 wsdlLocation 属性将 Web Service 已添加注释的 Java Bean 映射至 WSDL 文档。
注:如果要使用 SOAP 1.2:
@javax.xml.ws.BindingType (value=javax.xml.ws.soap.SOAPBinding.SOAP12HTTP_BINDING) 
必须指定 @WebService 注释的 wsdlLocation 属性,如以下示例所示:
@javax.jws.WebService (targetNamespace="http://p/", ..., wsdlLocation="WEB-INF/wsdl/EchoService.wsdl")
您不能使用由 WebSphere Application Server 动态生成的 WSDL 文件,但必须预先创建 WSDL 文件。或者,您可以使用 Web Service 向导;当您从 Java Bean 生成 Web Service 时,如果选择使用 SOAP 1.2,那么该向导会为您生成 WSDL 文件。

有关更多信息,请参阅:从 Java Bean 和 WSDL 文件创建 Web Service

中间会合 EJB 3.0 WebSphere Application Server V7.0 及更高版本 此方案允许您使用 wsdlLocation 属性将 Web Service 已添加注释的 EJB Bean 映射至 WSDL 文档。

有关更多信息,请参阅:从 EJB Bean 和 WSDL 文件创建 Web Service

示例

例如,可在 Java 源代码中嵌入一个 @WebService 标记将 Bean 公开为 Web Service。
@WebService

public class QuoteBean implements StockQuote {

       public float getQuote(String sym) { ... }

}

@WebService 注释告诉服务器运行时环境将该 Bean 上的所有公用方法显示为 Web Service。您可以通过在各个方法或参数上添加其他注释来控制更多详细程度级别。使用注释可以更容易将 Java 工件显示为 Web Service。另外,当使用一些自顶向下映射工具从 WSDL 文件创建工件时,注释包括在源代码和 Java 类中,作为与源文件一起捕获元数据的方法。

指示主题类型的图标 概念主题
信息中心的条款和条件 | 反馈

时间戳记图标 最近一次更新时间: 2014 年 4 月 17 日

文件名:cwsandoc001.html