Web Service 元数据注释 (JSR 181)

通过使用 JSR 181 规范中的注释,您可以对 Web Service 实现类或 Web Service 接口进行注释。然后,您可以使用向导或通过将应用程序发布至服务器来生成 Web Service。

注: 包含 JST 181 标准中的每一个注释的 Java™ 类的名称为 javax.jws.xxx,其中 xxx 是“@”字符后面的注释的名称。 例如,对应于 @WebService 的 Java 类名为 javax.jws.webservice
名称: 描述: 属性: 定义:
@WebService 此注释标记 Java 类或服务端点接口 (SEI),用于实现 Web Service 接口。

注释的其中三个属性只能与 JavaBeans 端点的服务端点实现类配合使用。 这些属性为 serviceName、portName 和 endpointInterface。

如果注释通过 endpointInterface 属性引用了某个 SEI,那么该 SEI 也必须具有 @WebService 注释。

缺省情况下,用于指定 @ WebService 注释的类中的所有公共方法将在 Web Service 中公开。

  • 注释目标:类型
  • 属性:
    - name
    wsdl:portType 的名称。name 属性映射至 SEI 或 Java 实现类。缺省值为 Java 类或接口的非标准名称。(字符串)
    - targetNamespace
    指定从 Web Service 生成的 WSDL 和 XML 元素的 XML 名称空间。
    • 如果 @WebService.targetNamespace 注释在服务端点接口上,那么 targetNamespace 将用于 wsdl:portType(以及相关联的 XML 元素)的名称空间。
    • 如果 @WebService.targetNamespace 注释在不通过 endpointInterface 注释元素引用服务端点接口的服务实现 Bean 上,那么 targetNamespace 将同时用于 wsdl:portType 和 wsdl:service(以及相关联的 XML 元素)。
    • 如果 @WebService.targetNamespace 注释在通过 endpointInterface 注释元素引用服务端点接口的服务实现 Bean 上,那么 targetNamespace 将仅用于 wsdl:service(以及相关联的 XML 元素)。

    缺省值为从包含该 Web Service 的包名映射的名称空间。(字符串)

    - serviceName
    指定 Web Service 的服务名称:wsdl:service。此属性不允许在端点接口上。缺省值为 Java 类的简单名称 + Service。(字符串)
    - endpointInterface
    指定用于定义服务的抽象 Web Service 约定的服务端点接口的限定名。如果指定了此限定名,那么会使用该服务端点接口来确定抽象 WSDL 约定。(字符串)
    - portName
    wsdl:portNameportName 属性是端点端口的名称。缺省值为 WebService.name+Port。(字符串)
    - wsdlLocation
    指定用于定义 Web Service 的 WSDL 文档的 Web 地址。Web 地址可以是相对地址或绝对地址。(字符串)
@Retention(value = RetentionPolicy.RUNTIME)
@Target({TYPE})
public @interface WebService{
	String name() default “”;
	String targetNamespace() default “”;
	String serviceName() default “”';
	String wsdlLocation() default “”;
	String endpointInterface() default “”;
	String portName() default “”;
};
@WebMethod 此注释表示属于 Web Service 操作的方法。

您可以将此注释应用于客户机或服务器服务端点接口 (SEI) 或 JavaBeans 端点的服务端点实现类中的公共方法。

@WebMethod 注释只在具有 @WebService 注释的类上受支持。

  • 注释目标:方法
  • 属性:
    - operationName
    指定与此方法相匹配的 wsdl:operation 的名称。缺省值为 Java 方法的名称。(字符串)
    - action
    定义此操作的行为。对于 SOAP 绑定,此值将确定 SOAPAction 头的值。(字符串)
    - exclude
    指定是否从 Web Service 中排除某一方法。此属性只能与实现类配合使用。用于停止将继承的方法作为此 Web Service 的一部分进行公开。 如果指定了此元素,那么不得为 @WebMethod 指定其他元素。此属性不允许在端点接口上。

    缺省值为 false。(布尔值)

@Retention(value = RetentionPolicy.RUNTIME)
@Target({TYPE})
public @interface WebMethod{
	String operationName() default “”;
	String action() default “”;
	boolean exclude() default false;
};
@Oneway 此注释将某个方法表示为 Web Service 的单向操作。它具有输入消息,但没有输出消息。此注释只能用在没有返回值的方法上。

您可以将此注释应用于客户机或服务器服务端点接口 (SEI) 或 JavaBeans 端点的服务端点实现类中的公共方法。

  • 注释目标:方法
  • 没有适用于 OneWay 注释的属性。
@Retention(value = RetentionPolicy.RUNTIME)
@Target({TYPE})
public @interface OneWay{
};
@WebParam 此注释用于定制从单个参数至 Web Service 消息部分和 XML 元素的映射。

您可以将此注释应用于客户机或服务器服务端点接口 (SEI) 或 JavaBeans 端点的服务端点实现类中的公共方法。

  • 注释目标:参数
  • 属性:
    - name
    如果操作是远程过程调用 (RPC) 类型并且未指定 partName 属性,那么这是用于表示参数的 wsdl:part 属性的名称。如果操作是文档类型或者参数映射到某个头,那么 name 是用于表示该参数的 XML 元素的局部名称。如果操作是文档类型、参数类型为 BARE 并且方式为 OUTINOUT,那么必须指定此属性。如果指定 partName 属性,那么将忽略 name 属性。(字符串)
    - partName
    定义用于表示此参数的 wsdl:part 属性的名称。仅当操作类型为 RPC 或者操作是文档类型并且参数类型为 BARE 时才使用此参数。(字符串)
    - targetNamespace
    指定参数的 XML 元素的 XML 名称空间。当属性映射到 XML 元素时,此参数仅应用于文档绑定。缺省值为 Web Service 的 targetNamespace。(字符串)
    - mode
    此值表示此方法的参数流的方向。有效值为 ININOUTOUT。(字符串)
    - header
    指定参数是在消息头还是消息体中。缺省值为 false。(布尔值)
@Retention(value = RetentionPolicy.RUNTIME)
@Target({PARAMETER})
public @interface WebParam{
	public enum Mode{
		IN,
		OUT,
		INOUT
	};
	String name() default “”;
	String partName() default "";
	String targetNamespace() default “”;
	Mode mode() default Mode.IN
	boolean header() default false;
};
@WebResult 此注释用于定制如何将返回值映射至 WSDL 部件或 XML 元素。

您可以将此注释应用于客户机或服务器服务端点接口 (SEI) 或 JavaBeans 端点的服务端点实现类中的公共方法。

  • 注释目标:方法
  • 属性:
    - name
    当返回值列出在 WSDL 文件中并且在连接上的消息中找到该返回值时,指定该返回值的名称。对于 RPC 绑定,这是用于表示返回值的 wsdl:part 属性的名称。对于文档绑定,name 参数是用于表示返回值的 XML 元素的局部名称。对于 RPC 和 DOCUMENT/WRAPPED 绑定,缺省值为 return。对于 DOCUMENT/BARE 绑定,缺省值为方法名 + Response。(字符串)
    - targetNamespace
    指定返回值的 XML 名称空间。当返回值映射到 XML 元素时,仅将此注释用于文档绑定。缺省值为 Web Service 的 targetNamespace。(字符串)
    - header
    指定头中是否附带结果。缺省值为 false。(字符串)
    - partName
    指定 RPC 或 DOCUMENT/BARE 操作的结果的部件名称。缺省值为 @WebResult.name。(布尔值)
@Retention(value = RetentionPolicy.RUNTIME)
@Target({METHOD})
public @interface WebResult{
	String name() default “return”;
	String targetNamespace default() “”;
	boolean header() default false;	
	String partName() default "";
};
@HandlerChain 此注释用于将 Web Service 与外部定义的处理程序链相关联。如果必须在多个 Web Service 之间共享处理程序配置并且应用程序源中的嵌入式处理程序配置效率低,那么您可以使用此注释。

将此注释应用于客户机或服务器服务端点接口 (SEI) 或 JavaBeans 端点的服务端点实现类。

  • 注释目标:类型
  • 属性:
    - file
    指定处理程序链文件所在的位置。文件位置可以是采用外部格式的绝对 java.net.URL,也可以是源或类文件中的相对路径。(字符串)
    - name
    指定配置文件中处理程序链的名称。(字符串)
@Retention(value = RetentionPolicy.RUNTIME)
@Target({TYPE})
public @interface HandlerChain{
	String file();
String name();
};
@SOAPBinding 此注释用于指定 Web Service 与 SOAP 消息协议之间的映射。

您可以将此注释应用于客户机或服务器服务端点接口 (SEI) 或 Java Beans 端点的服务端点实现类中的类型或公共方法。

方法级别的注释仅限于它可以指定的内容。仅当 style 属性具有值 DOCUMENT 时,才使用该注释。 如果未指定方法级别的注释,那么将使用类型的 @SOAPBinding 行为。

  • 注释目标:类型或方法
  • 属性:
    - style
    定义发送至和发送自 Web Service 的消息的编码样式。有效值为 DOCUMENTRPC。缺省值为 DOCUMENT。(字符串)
    - use
    定义用于发送至和发送自 Web Service 的消息的编码。缺省值为 LITERALENCODED 是不受支持的值。(字符串)
    - parameterStyle
    决定方法的参数是否代表整个消息体,或参数是否是合并在以该操作命名的顶级元素中的元素。 有效值为 WRAPPEDBARE。您可以将 BARE 值与 DOCUMENT 样式绑定配合使用。缺省值为 WRAPPED。(字符串)
@Retention(value = RetentionPolicy.RUNTIME)
@Target({TYPE})
public @interface SOAPBinding{
	public enum Style{
		DOCUMENT,
		RPC
	};
	public enum Use{
		LITERAL,
	};
	public enum ParameterStyle{
		BARE,
		WRAPPED
	};
	Style style() default Style.DOCUMENT
	Use use() default Use.LITERAL
	ParameterStyle parameterStyle() default ParameterStyle.WRAPPED;
};
指示主题类型的图标 参考主题
信息中心的条款和条件 | 反馈

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

文件名:rwsandoc003.html