“基于 XML 的 Web Service 的 Java API”(JAX-WS)经过使用注释来指定与 Web Service 实现相关联的元数据以及简化 Web Service 的开发。注释描述如何将服务器端的服务实现做为 Web Service 来访问或者客户端的 Java 类如何访问 Web Service。html
JAX-WS 编程标准支持将具备用于定义服务端点应用程序的元数据的 Java 类做为 Web Service 来注释以及注释客户机能够如何访问 Web Service。JAX-WS 支持使用基于 Metadata Facility for the Java Programming Language(Java 规范请求(JSR)175)规范和“用于 Java 平台的 Web Service 元数据”(JSR 181)规范的注释,还可使用由 JAX-WS 2.0(JSR 224)规范定义的注释(包括 JAXB 注释)。经过使用符合 JSR 181 标准的注释,能够简单地注释服务实现类或服务接口,而且如今将应用程序做为 Web Service 来启用。经过在 Java 源代码中使用注释能够简化 Web Service 的开发和部署,由于会定义一些一般从部署描述符文件和 WSDL 文件中得到的附加信息,或者会将元数据从 XML 和 WSDL 映射至源工件中。java
使用注释来配置绑定、处理程序链、端口类型的集合名称、服务以及其余 WSDL 参数。注释用于将 Java 映射至 WSDL 和模式,以及在运行时控制 JAX-WS 运行时处理和响应 Web Service 调用的方式。web
注释类: | 注释: | 属性: |
---|---|---|
javax.jws.WebService | 当实现 Web Service 时,@WebService 注释标记 Java 类;实现 Web Service 接口时,标记服务端点接口(SEI)。 要点:编程 • 实现 Web Service 的 Java 类必须指定 @WebService 或 @WebServiceProvider 注释。不能同时提供这两种注释。服务器 此注释适用于客户机/服务器 SEI 或 JavaBeans 端点的服务器端点实现类。app • 若是注释经过 endpointInterface 属性引用了某个 SEI,那么还必须使用 @WebService 注释来注释该 SEI。jsp • 请参阅适用于使用 @WebService 注释的类的方法的规则 ,以了解更多信息。ide |
|
javax.jws.WebMethod | @WebMethod 注释表示做为一项 Web Service 操做的方法。 将此注释应用于客户机或服务器服务端点接口(SEI)上的方法,或者应用于 JavaBeans 端点的服务器端点实现类。编码 要点:spa • 仅支持在使用 @WebService 注释来注释的类上使用 @WebMethod 注释。 |
|
javax.jws.Oneway | @Oneway 注释将一个方法表示为只有输入消息而没有输出消息的 Web Service 单向操做。 将此注释应用于客户机或服务器服务端点接口(SEI)上的方法,或者应用于 JavaBeans 端点的服务器端点实现类。 |
|
javax.jws.WebParam | @WebParam 注释用于定制从单个参数至 Web Service 消息部件和 XML 元素的映射。 将此注释应用于客户机或服务器服务端点接口(SEI)上的方法,或者应用于 JavaBeans 端点的服务器端点实现类。 |
|
javax.jws.WebResult | @WebResult 注释用于定制从返回值至 WSDL 部件或 XML 元素的映射。 将此注释应用于客户机或服务器服务端点接口(SEI)上的方法,或者应用于 JavaBeans 端点的服务器端点实现类。 |
|
javax.jws.HandlerChain | @HandlerChain 注释用于使 Web Service 与外部定义的处理程序链相关联。 只能经过对 SEI 或实现类使用 @HandlerChain 注释来配置服务器端的处理程序。 可是可使用多种方法来配置客户端的处理程序。能够经过对生成的服务类或者 SEI 使用 @HandlerChain 注释来配置客户端的处理程序。此外,能够按程序在服务上注册您本身的 HandlerResolver 接口实现,或者按程序在绑定对象上设置处理程序链。 |
|
javax.jws.SOAPBinding | @SOAPBinding 注释指定 Web Service 与 SOAP 消息协议之间的映射。 将此注释应用于客户机或服务器服务端点接口(SEI)上的类型或方法,或者应用于 JavaBeans 端点的服务器端点实现类。 方法级别的注释仅限于它能够指定的对象,仅当 style 属性为DOCUMENT 时才使用该注释。若是未指定方法级别的注释,那么将使用类型的 @SOAPBinding 行为。 |
|
注释类: | 注释: | 属性: |
---|---|---|
javax.xml.ws.BindingType | @BindingType 注释指定在发布此类型的端点时要使用的绑定。 将此注释应用于 JavaBeans 端点或提供程序端点的服务器端点实现类。 要点: • 能够经过将该注释的值指定为javax.xml.ws.soap.SOAPBinding.SOAP11HTTP_MTOM_BINDING或javax.xml.ws.soap.SOAPBinding.SOAP12HTTP_MTOM_BINDING来对 Java bean 端点实现类使用 @BindingType 注释以启用 MTOM。 |
|
javax.xml.ws.RequestWrapper | @RequestWrapper 注释提供 JAXB 生成的请求包装器 bean、元素名称和名称空间,用于对在运行时使用的请求包装器 bean 进行序列化和反序列化。 从 Java 对象开始时,此元素用来解决 document literal 方式下的重载冲突。在这种状况下,只有 className 属性是必需的。 将此注释应用于客户机或服务器服务端点接口(SEI)上的方法,或者应用于 JavaBeans 端点的服务器端点实现类。 |
|
javax.xml.ws.ResponseWrapper | @ResponseWrapper 注释提供 JAXB 生成的响应包装器 bean、元素名称和名称空间,用于对在运行时使用的响应包装器 bean 进行序列化和反序列化。 从 Java 对象开始时,此元素用来解决 document literal 方式下的重载冲突。在这种状况下,只有 className 属性是必需的。 将此注释应用于客户机或服务器服务端点接口(SEI)上的方法,或者应用于 JavaBeans 端点的服务器端点实现类。 |
|
javax.xml.ws.ServiceMode | @ServiceMode 注释指定服务提供者是须要对整个协议消息具备访问权仍是只需对消息有效内容具备访问权。 要点: • 仅支持在使用 @WebServiceProvider 注释来注释的类上使用 @ServiceMode 注释。 |
|
javax.xml.ws.WebFault | @WebFault 注释将 WSDL 故障映射至 Java 异常。对从 WSDL 故障消息引用的全局元素生成的 JAXB 类型进行序列化期间,该注释用来捕获故障的名称。它还能够用来定制从特定于服务的异常到 WSDL 故障的映射。 此注释只能应用于客户机或服务器上的故障实现类。 |
|
javax.xml.ws.WebServiceProvider | @WebServiceProvider 注释表示一个类知足 JAX-WS 提供程序实现类的要求。 要点: • 实现 Web Service 的 Java 类必须指定 @WebService 或 @WebServiceProvider 注释。不能同时提供这两种注释。 • 只有服务实现类才支持 @WebServiceProvider 注释。 • 任何具备 @WebServiceProvider 注释的类都必须具备名为invoke 的操做。 |
|
注释类: | 注释: | 属性: |
---|---|---|
javax.annotation.Resource | @Resource 注释标记应用程序所须要的 WebServiceContext 资源。 将此注释应用于 JavaBeans 端点或提供程序端点的服务器端点实现类。对容器进行初始化时,容器会将 WebServiceContext 资源的实例添加到端点实现中。 |
|
javax.annotation.PostConstruct | @PostConstruct 注释标记须要在对类执行依赖性注入以后才执行的方法。 将此注释应用于 JAX-WS 应用程序处理程序、JavaBeans 端点或提供程序端点的服务器端点实现类。 |
|
javax.annotation.PreDestroy | @PreDestroy 注释标记在容器除去实例时必须执行的方法。 将此注释应用于 JAX-WS 应用程序处理程序、JavaBeans 端点或提供程序端点的服务器端点实现类。 |
|