com.sun.xml.ws.server
Class EndpointFactory

java.lang.Object
  extended by com.sun.xml.ws.server.EndpointFactory

public class EndpointFactory
extends Object

Entry point to the JAX-WS RI server-side runtime.


Constructor Summary
EndpointFactory()
           
 
Method Summary
<T> WSEndpoint<T>
create(Class<T> implType, boolean processHandlerAnnotation, Invoker invoker, QName serviceName, QName portName, Container container, WSBinding binding, SDDocumentSource primaryWsdl, Collection<? extends SDDocumentSource> metadata, EntityResolver resolver, boolean isTransportSynchronous)
          Implements WSEndpoint.create(java.lang.Class, boolean, com.sun.xml.ws.api.server.Invoker, javax.xml.namespace.QName, javax.xml.namespace.QName, com.sun.xml.ws.api.server.Container, com.sun.xml.ws.api.WSBinding, com.sun.xml.ws.api.server.SDDocumentSource, java.util.Collection, org.xml.sax.EntityResolver, boolean).
<T> WSEndpoint<T>
create(Class<T> implType, boolean processHandlerAnnotation, Invoker invoker, QName serviceName, QName portName, Container container, WSBinding binding, SDDocumentSource primaryWsdl, Collection<? extends SDDocumentSource> metadata, EntityResolver resolver, boolean isTransportSynchronous, boolean isStandard)
           
protected
<T> WSEndpoint<T>
create(QName serviceName, QName portName, WSBinding binding, Container container, SEIModel seiModel, WSDLPort wsdlPort, Class<T> implType, ServiceDefinitionImpl serviceDefinition, EndpointAwareTube terminal, boolean isTransportSynchronous, com.sun.xml.ws.policy.PolicyMap policyMap)
           
static
<T> WSEndpoint<T>
createEndpoint(Class<T> implType, boolean processHandlerAnnotation, Invoker invoker, QName serviceName, QName portName, Container container, WSBinding binding, SDDocumentSource primaryWsdl, Collection<? extends SDDocumentSource> metadata, EntityResolver resolver, boolean isTransportSynchronous)
          Implements WSEndpoint.create(java.lang.Class, boolean, com.sun.xml.ws.api.server.Invoker, javax.xml.namespace.QName, javax.xml.namespace.QName, com.sun.xml.ws.api.server.Container, com.sun.xml.ws.api.WSBinding, com.sun.xml.ws.api.server.SDDocumentSource, java.util.Collection, org.xml.sax.EntityResolver, boolean).
static
<T> WSEndpoint<T>
createEndpoint(Class<T> implType, boolean processHandlerAnnotation, Invoker invoker, QName serviceName, QName portName, Container container, WSBinding binding, SDDocumentSource primaryWsdl, Collection<? extends SDDocumentSource> metadata, EntityResolver resolver, boolean isTransportSynchronous, boolean isStandard)
           
protected
<T> EndpointAwareTube
createProviderInvokerTube(Class<T> implType, WSBinding binding, Invoker invoker, Container container)
           
protected  EndpointAwareTube createSEIInvokerTube(AbstractSEIModelImpl seiModel, Invoker invoker, WSBinding binding)
           
static QName getDefaultPortName(QName serviceName, Class<?> implType)
          If portName is not already set via DD or programmatically, it uses annotations on implementorClass to get PortName.
static QName getDefaultPortName(QName serviceName, Class<?> implType, boolean isStandard)
           
static QName getDefaultServiceName(Class<?> implType)
          If service name is not already set via DD or programmatically, it uses annotations WebServiceProvider, WebService on implementorClass to get PortName.
static QName getDefaultServiceName(Class<?> implType, boolean isStandard)
           
static EndpointFactory getInstance()
           
static String getWsdlLocation(Class<?> implType)
          Returns the wsdl from @WebService, or @WebServiceProvider annotation using wsdlLocation element.
protected  boolean isUseProviderTube(Class<?> implType, boolean isStandard)
           
static boolean verifyImplementorClass(Class<?> clz)
          Verifies if the endpoint implementor class has @WebService or @WebServiceProvider annotation
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EndpointFactory

public EndpointFactory()
Method Detail

getInstance

public static EndpointFactory getInstance()

createEndpoint

public static <T> WSEndpoint<T> createEndpoint(Class<T> implType,
                                               boolean processHandlerAnnotation,
                                               @Nullable
                                               Invoker invoker,
                                               @Nullable
                                               QName serviceName,
                                               @Nullable
                                               QName portName,
                                               @Nullable
                                               Container container,
                                               @Nullable
                                               WSBinding binding,
                                               @Nullable
                                               SDDocumentSource primaryWsdl,
                                               @Nullable
                                               Collection<? extends SDDocumentSource> metadata,
                                               EntityResolver resolver,
                                               boolean isTransportSynchronous)
Implements WSEndpoint.create(java.lang.Class, boolean, com.sun.xml.ws.api.server.Invoker, javax.xml.namespace.QName, javax.xml.namespace.QName, com.sun.xml.ws.api.server.Container, com.sun.xml.ws.api.WSBinding, com.sun.xml.ws.api.server.SDDocumentSource, java.util.Collection, org.xml.sax.EntityResolver, boolean). No need to take WebServiceContext implementation. When InvokerPipe is instantiated, it calls InstanceResolver to set up a WebServiceContext. We shall only take delegate to getUserPrincipal and isUserInRole from adapter.

Nobody else should be calling this method.


createEndpoint

public static <T> WSEndpoint<T> createEndpoint(Class<T> implType,
                                               boolean processHandlerAnnotation,
                                               @Nullable
                                               Invoker invoker,
                                               @Nullable
                                               QName serviceName,
                                               @Nullable
                                               QName portName,
                                               @Nullable
                                               Container container,
                                               @Nullable
                                               WSBinding binding,
                                               @Nullable
                                               SDDocumentSource primaryWsdl,
                                               @Nullable
                                               Collection<? extends SDDocumentSource> metadata,
                                               EntityResolver resolver,
                                               boolean isTransportSynchronous,
                                               boolean isStandard)

create

public <T> WSEndpoint<T> create(Class<T> implType,
                                boolean processHandlerAnnotation,
                                @Nullable
                                Invoker invoker,
                                @Nullable
                                QName serviceName,
                                @Nullable
                                QName portName,
                                @Nullable
                                Container container,
                                @Nullable
                                WSBinding binding,
                                @Nullable
                                SDDocumentSource primaryWsdl,
                                @Nullable
                                Collection<? extends SDDocumentSource> metadata,
                                EntityResolver resolver,
                                boolean isTransportSynchronous)
Implements WSEndpoint.create(java.lang.Class, boolean, com.sun.xml.ws.api.server.Invoker, javax.xml.namespace.QName, javax.xml.namespace.QName, com.sun.xml.ws.api.server.Container, com.sun.xml.ws.api.WSBinding, com.sun.xml.ws.api.server.SDDocumentSource, java.util.Collection, org.xml.sax.EntityResolver, boolean). No need to take WebServiceContext implementation. When InvokerPipe is instantiated, it calls InstanceResolver to set up a WebServiceContext. We shall only take delegate to getUserPrincipal and isUserInRole from adapter.

Nobody else should be calling this method.


create

public <T> WSEndpoint<T> create(Class<T> implType,
                                boolean processHandlerAnnotation,
                                @Nullable
                                Invoker invoker,
                                @Nullable
                                QName serviceName,
                                @Nullable
                                QName portName,
                                @Nullable
                                Container container,
                                @Nullable
                                WSBinding binding,
                                @Nullable
                                SDDocumentSource primaryWsdl,
                                @Nullable
                                Collection<? extends SDDocumentSource> metadata,
                                EntityResolver resolver,
                                boolean isTransportSynchronous,
                                boolean isStandard)

create

protected <T> WSEndpoint<T> create(QName serviceName,
                                   QName portName,
                                   WSBinding binding,
                                   Container container,
                                   SEIModel seiModel,
                                   WSDLPort wsdlPort,
                                   Class<T> implType,
                                   ServiceDefinitionImpl serviceDefinition,
                                   EndpointAwareTube terminal,
                                   boolean isTransportSynchronous,
                                   com.sun.xml.ws.policy.PolicyMap policyMap)

isUseProviderTube

protected boolean isUseProviderTube(Class<?> implType,
                                    boolean isStandard)

createSEIInvokerTube

protected EndpointAwareTube createSEIInvokerTube(AbstractSEIModelImpl seiModel,
                                                 Invoker invoker,
                                                 WSBinding binding)

createProviderInvokerTube

protected <T> EndpointAwareTube createProviderInvokerTube(Class<T> implType,
                                                          WSBinding binding,
                                                          Invoker invoker,
                                                          Container container)

verifyImplementorClass

public static boolean verifyImplementorClass(Class<?> clz)
Verifies if the endpoint implementor class has @WebService or @WebServiceProvider annotation

Returns:
true if it is a Provider or AsyncProvider endpoint false otherwise
Throws:
IllegalArgumentException - If it doesn't have any one of @WebService or @WebServiceProvider If it has both @WebService and @WebServiceProvider annotations

getDefaultServiceName

@NotNull
public static QName getDefaultServiceName(Class<?> implType)
If service name is not already set via DD or programmatically, it uses annotations WebServiceProvider, WebService on implementorClass to get PortName.

Returns:
non-null service name

getDefaultServiceName

@NotNull
public static QName getDefaultServiceName(Class<?> implType,
                                                  boolean isStandard)

getDefaultPortName

@NotNull
public static QName getDefaultPortName(QName serviceName,
                                               Class<?> implType)
If portName is not already set via DD or programmatically, it uses annotations on implementorClass to get PortName.

Returns:
non-null port name

getDefaultPortName

@NotNull
public static QName getDefaultPortName(QName serviceName,
                                               Class<?> implType,
                                               boolean isStandard)

getWsdlLocation

@Nullable
public static String getWsdlLocation(Class<?> implType)
Returns the wsdl from @WebService, or @WebServiceProvider annotation using wsdlLocation element.

Parameters:
implType - endpoint implementation class make sure that you called verifyImplementorClass(java.lang.Class) on it.
Returns:
wsdl if there is wsdlLocation, else null


Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved.