⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 servicedelegate.java

📁 JAVA 所有包
💻 JAVA
字号:
/* * Copyright 2005 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. *$Id: ServiceDelegate.java,v 1.2 2005/11/27 19:56:23 mode Exp $ */package javax.xml.ws.spi;import java.util.Iterator;import javax.xml.namespace.QName;import javax.xml.ws.Dispatch;import javax.xml.ws.Service;import javax.xml.ws.handler.HandlerResolver;import javax.xml.bind.JAXBContext;/** * Service delegates are used internally by <code>Service</code> objects * to allow pluggability of JAX-WS implementations. * <p> * Every <code>Service</code> object has its own delegate, created using * the javax.xml.ws.Provider#createServiceDelegate method. A <code>Service</code> * object delegates all of its instance methods to its delegate. *  * @see javax.xml.ws.Service * @see javax.xml.ws.spi.Provider * * @since JAX-WS 2.0 */public abstract class ServiceDelegate {        protected ServiceDelegate() {    }      /** The getPort method returns a stub. A service client   *  uses this stub to invoke operations on the target    *  service endpoint. The <code>serviceEndpointInterface</code>    *  specifies the service endpoint interface that is supported by   *  the created dynamic proxy or stub instance.    *   *  @param portName  Qualified name of the service endpoint in    *                   the WSDL service description   *  @param serviceEndpointInterface Service endpoint interface    *                   supported by the dynamic proxy or stub   *                   instance   *  @return Object Proxy instance that    *                 supports the specified service endpoint    *                 interface   *  @throws WebServiceException This exception is thrown in the   *                   following cases:   *                   <UL>   *                   <LI>If there is an error in creation of    *                       the proxy   *                   <LI>If there is any missing WSDL metadata   *                       as required by this method   *                   <LI>Optionally, if an illegal    *                       <code>serviceEndpointInterface</code>   *                       or <code>portName</code> is specified   *                   </UL>     *  @see java.lang.reflect.Proxy   *  @see java.lang.reflect.InvocationHandler  **/			       public abstract <T> T getPort(QName portName,		                 Class<T> serviceEndpointInterface);    /** The getPort method returns a stub. The parameter    *  <code>serviceEndpointInterface</code> specifies the service    *  endpoint interface that is supported by the returned proxy.   *  In the implementation of this method, the JAX-WS    *  runtime system takes the responsibility of selecting a protocol   *  binding (and a port) and configuring the proxy accordingly.    *  The returned proxy should not be reconfigured by the client.   *   *  @param serviceEndpointInterface Service endpoint interface   *  @return Object instance that supports the    *                   specified service endpoint interface   *  @throws WebServiceException   *                   <UL>   *                   <LI>If there is an error during creation   *                       of the proxy   *                   <LI>If there is any missing WSDL metadata   *                       as required by this method   *                   <LI>Optionally, if an illegal    *                       <code>serviceEndpointInterface</code>   *                       is specified   *                   </UL>    **/  public abstract <T> T getPort(Class<T> serviceEndpointInterface);  /** Creates a new port for the service. Ports created in this way contain   *  no WSDL port type information and can only be used for creating    *  <code>Dispatch</code>instances.   *   *  @param portName  Qualified name for the target service endpoint   *  @param bindingId A URI identifier of a binding.   *  @param endpointAddress Address of the target service endpoint as a URI   *  @throws WebServiceException If any error in the creation of   *  the port   *   *  @see javax.xml.ws.soap.SOAPBinding#SOAP11HTTP_BINDING   *  @see javax.xml.ws.soap.SOAPBinding#SOAP12HTTP_BINDING   *  @see javax.xml.ws.http.HTTPBinding#HTTP_BINDING   **/  public abstract void addPort(QName portName, String bindingId,      String endpointAddress);  /** Creates a <code>Dispatch</code> instance for use with objects of   *  the users choosing.   *   *  @param portName  Qualified name for the target service endpoint   *  @param type The class of object used to messages or message   *  payloads. Implementations are required to support   *  javax.xml.transform.Source and javax.xml.soap.SOAPMessage.   *  @param mode Controls whether the created dispatch instance is message   *  or payload oriented, i.e. whether the user will work with complete   *  protocol messages or message payloads. E.g. when using the SOAP   *  protocol, this parameter controls whether the user will work with   *  SOAP messages or the contents of a SOAP body. Mode must be MESSAGE   *  when type is SOAPMessage.   *   *  @return Dispatch instance   *  @throws WebServiceException If any error in the creation of   *                   the <code>Dispatch</code> object   *  @see javax.xml.transform.Source   *  @see javax.xml.soap.SOAPMessage   **/  public abstract <T> Dispatch<T> createDispatch(QName portName, Class<T> type, Service.Mode mode);  /** Creates a <code>Dispatch</code> instance for use with JAXB   *  generated objects.   *   *  @param portName  Qualified name for the target service endpoint   *  @param context The JAXB context used to marshall and unmarshall   *  messages or message payloads.   *  @param mode Controls whether the created dispatch instance is message   *  or payload oriented, i.e. whether the user will work with complete   *  protocol messages or message payloads. E.g. when using the SOAP   *  protocol, this parameter controls whether the user will work with   *  SOAP messages or the contents of a SOAP body.   *   *  @return Dispatch instance   *  @throws ServiceException If any error in the creation of   *                   the <code>Dispatch</code> object   *   *  @see javax.xml.bind.JAXBContext   **/  public abstract Dispatch<Object> createDispatch(QName portName,               JAXBContext context, Service.Mode mode);  /** Gets the name of this service.   *  @return Qualified name of this service  **/  public abstract QName getServiceName();  /** Returns an <code>Iterator</code> for the list of    *  <code>QName</code>s of service endpoints grouped by this   *  service   *   *  @return Returns <code>java.util.Iterator</code> with elements   *          of type <code>javax.xml.namespace.QName</code>   *  @throws WebServiceException If this Service class does not   *          have access to the required WSDL metadata    **/		  public abstract Iterator<javax.xml.namespace.QName> getPorts();  /** Gets the location of the WSDL document for this Service.   *   *  @return URL for the location of the WSDL document for    *          this service  **/  public abstract java.net.URL getWSDLDocumentLocation();  /**    * Returns the configured handler resolver.   *   *  @return HandlerResolver The <code>HandlerResolver</code> being   *          used by this <code>Service</code> instance, or <code>null</code>   *          if there isn't one.  **/  public abstract HandlerResolver getHandlerResolver();   /**   *  Sets the <code>HandlerResolver</code> for this <code>Service</code>   *  instance.   *  <p>   *  The handler resolver, if present, will be called once for each   *  proxy or dispatch instance that is created, and the handler chain   *  returned by the resolver will be set on the instance.   *   *  @param handlerResolver The <code>HandlerResolver</code> to use   *         for all subsequently created proxy/dispatch objects.   *   *  @see javax.xml.ws.handler.HandlerResolver  **/  public abstract void setHandlerResolver(HandlerResolver handlerResolver);  /**   * Returns the executor for this <code>Service</code>instance.   *   * The executor is used for all asynchronous invocations that   * require callbacks.   *   * @return The <code>java.util.concurrent.Executor</code> to be   *         used to invoke a callback.   *    * @see java.util.concurrent.Executor   **/   public abstract java.util.concurrent.Executor getExecutor();    /**   * Sets the executor for this <code>Service</code> instance.   *   * The executor is used for all asynchronous invocations that   * require callbacks.   *   * @param executor The <code>java.util.concurrent.Executor</code>   *        to be used to invoke a callback.   *   * @throws SecurityException If the instance does not support   *         setting an executor for security reasons (e.g. the   *         necessary permissions are missing).   *    * @see java.util.concurrent.Executor   **/   public abstract void setExecutor(java.util.concurrent.Executor executor);     }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -