javax.xml.ws

接口
异常
注释
java.lang.Object
  继承者 javax.xml.ws.Endpoint

public abstract class Endpoint
     
extends Object

Web 服务端点。

使用在此类中定义的静态方法创建端点。一个端点总是绑定到一个 Binding 和一个实现者,这两项都是在创建端点时设置的。

端点要么处于已发布状态,要么处于未发布状态。可以使用 publish 方法开始发布端点,此时端点开始接受传入请求。相反,可以使用 stop 方法停止接受传入请求并取消端点。一旦停止,就不能再次发布该端点。

可以在端点上设置 Executor 以便更好地控制用来指派传入请求的线程。例如,通过创建 ThreadPoolExecutor 并向端点注册可以启用带有特定参数的线程池。

处理程序链可以使用所含的 Binding 来设置。

端点可以使一个元数据文档(如 WSDL 和 XMLSchema 文档)列表与之绑定。发布时,JAX-WS 实现将根据实现者上存在的注释,尽可能多地重用这些元数据,而不是生成新的元数据。

从以下版本开始:
JAX-WS 2.0
另请参见:
Binding, BindingType, SOAPBinding, Executor

字段摘要
static String WSDL_PORT
          标准属性:WSDL 端口的名称。
static String WSDL_SERVICE
          标准属性:WSDL 服务的名称。
 
构造方法摘要
Endpoint()
           
 
方法摘要
static Endpoint create(Object implementor)
          创建具有指定实现者对象的端点。
static Endpoint create(String bindingId, Object implementor)
          创建具有指定绑定类型和实现者对象的端点。
abstract  Binding getBinding()
          返回此端点的绑定。
abstract  Executor getExecutor()
          返回此 Endpoint 实例的执行程序。
abstract  Object getImplementor()
          返回此端点的实现对象。
abstract  List<Source> getMetadata()
          返回服务的元数据文档列表。
abstract  Map<String,Object> getProperties()
          返回此 Endpoint 实例的属性包。
abstract  boolean isPublished()
          如果端点已处于发布状态,则返回 true。
abstract  void publish(Object serverContext)
          在提供的服务器上下文中发布此端点。
abstract  void publish(String address)
          在给定地址处发布此端点。
static Endpoint publish(String address, Object implementor)
          在给定地址处针对指定的实现者对象创建并发布端点。
abstract  void setExecutor(Executor executor)
          设置此 Endpoint 实例的执行程序。
abstract  void setMetadata(List<Source> metadata)
          设置此端点的元数据。
abstract  void setProperties(Map<String,Object> properties)
          设置此 Endpoint 实例的属性包。
abstract  void stop()
          停止发布此端点。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

WSDL_SERVICE

public static final String WSDL_SERVICE
标准属性:WSDL 服务的名称。

类型:javax.xml.namespace.QName

另请参见:
常量字段值

WSDL_PORT

public static final String WSDL_PORT
标准属性:WSDL 端口的名称。

类型:javax.xml.namespace.QName

另请参见:
常量字段值
构造方法详细信息

Endpoint

public Endpoint()
方法详细信息

create

public static Endpoint create(Object implementor)
创建具有指定实现者对象的端点。如果存在通过 BindingType 注释指定的绑定,则必须使用该绑定,否则必须使用默认的 SOAP 1.1 / HTTP 绑定。

可以通过调用 javax.xml.ws.Endpoint#publish(String) 和 javax.xml.ws.Endpoint#publish(Object) 方法之一来发布新创建的端点。

参数:
implementor - 端点实现者。
返回:
新创建的端点。

create

public static Endpoint create(String bindingId,
                              Object implementor)
创建具有指定绑定类型和实现者对象的端点。

可以通过调用 javax.xml.ws.Endpoint#publish(String) 和 javax.xml.ws.Endpoint#publish(Object) 方法之一来发布新创建的端点。

参数:
bindingId - 一个 URI,指定要使用的绑定。如果 bindingID 为 null 并且没有通过 BindingType 注释指定任何绑定,则必须使用默认的 SOAP 1.1 / HTTP 绑定。
implementor - 端点实现者。
返回:
新创建的端点。

getBinding

public abstract Binding getBinding()
返回此端点的绑定。

返回:
此端点的绑定

getImplementor

public abstract Object getImplementor()
返回此端点的实现对象。

返回:
此端点的实现者

publish

public abstract void publish(String address)
在给定地址处发布此端点。JAX-WS 实现将使用一些默认的配置创建和配置所需的服务器基础设施。若要更多地控制服务器配置,请使用 javax.xml.ws.Endpoint#publish(Object) 方法。

参数:
address - 一个 URI,指定要使用的地址。地址必须与创建端点时指定的绑定兼容。
抛出:
IllegalArgumentException - 如果提供的地址 URI 不能与端点的绑定结合使用。
IllegalStateException - 如果已发布端点或者已停止端点。

publish

public static Endpoint publish(String address,
                               Object implementor)
在给定地址处针对指定的实现者对象创建并发布端点。

JAX-WS 实现将使用一些默认的配置创建和配置所需的服务器基础设施。 若要更多地控制服务器配置,请使用 javax.xml.ws.Endpoint#create(String,Object) 和 javax.xml.ws.Endpoint#publish(Object) 方法。

参数:
address - 一个 URI,指定要使用的地址和传输/协议。http:URI 一定会导致使用 SOAP 1.1/HTTP 绑定。实现可以支持其他 URI 方案。
implementor - 端点实现者。
返回:
新创建的端点。

publish

public abstract void publish(Object serverContext)
在提供的服务器上下文中发布此端点。服务器上下文封装了用于特定传输的服务器基础设施和寻址信息。要成功调用该方法,作为参数传递给它的服务器上下文必须与端点的绑定兼容。

参数:
serverContext - 表示发布端点所用服务器上下文的对象。
抛出:
IllegalArgumentException - 如果实现不支持提供的服务器上下文,或者被证明无法与端点的绑定结合使用。
IllegalStateException - 如果已发布端点或者已停止端点。

stop

public abstract void stop()
停止发布此端点。 如果端点未处于已发布状态,则此方法无效。


isPublished

public abstract boolean isPublished()
如果端点已处于发布状态,则返回 true。

返回:
如果端点已处于发布状态,则返回 true

getMetadata

public abstract List<Source> getMetadata()
返回服务的元数据文档列表。

返回:
List<javax.xml.transform.Source> 服务的元数据文档列表

setMetadata

public abstract void setMetadata(List<Source> metadata)
设置此端点的元数据。

参数:
metadata - 包含端点元数据信息的 XML 文档源(例如,WSDL 或 XML 模式文档)列表
抛出:
IllegalStateException - 如果已发布端点。

getExecutor

public abstract Executor getExecutor()
返回此 Endpoint 实例的执行程序。 执行程序用于向实现者对象指派传入请求。

返回:
将用来指派请求的 java.util.concurrent.Executor
另请参见:
Executor

setExecutor

public abstract void setExecutor(Executor executor)
设置此 Endpoint 实例的执行程序。 执行程序用于向实现者对象指派传入请求。 如果此 Endpoint 使用 publish(Object) 方法发布,并且指定的服务器上下文定义它自己的线程行为,则可以忽略执行程序。

参数:
executor - 将用来指派请求的 java.util.concurrent.Executor
抛出:
SecurityException - 如果出于安全的原因(例如,缺少必要的权限),实例不支持设置执行程序。
另请参见:
Executor

getProperties

public abstract Map<String,Object> getProperties()
返回此 Endpoint 实例的属性包。

返回:
Map<String,Object>,与此实例关联的属性包。

setProperties

public abstract void setProperties(Map<String,Object> properties)
设置此 Endpoint 实例的属性包。

参数:
properties - 与此实例关联的属性包。