Package com.sun.xml.ws.server
Class EndpointFactory
- java.lang.Object
-
- com.sun.xml.ws.server.EndpointFactory
-
public class EndpointFactory extends Object
Entry point to the JAX-WS RI server-side runtime.- Author:
- Kohsuke Kawaguchi, Jitendra Kotamraju
-
-
Constructor Summary
Constructors Constructor Description EndpointFactory()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description <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)
<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, 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)
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
getDefaultPortName(QName serviceName, Class<?> implType, boolean isStandard, MetadataReader metadataReader)
static QName
getDefaultPortName(QName serviceName, Class<?> implType, MetadataReader metadataReader)
static QName
getDefaultServiceName(Class<?> implType)
If service name is not already set via DD or programmatically, it uses annotationsWebServiceProvider
,WebService
on implementorClass to get PortName.static QName
getDefaultServiceName(Class<?> implType, boolean isStandard)
static QName
getDefaultServiceName(Class<?> implType, boolean isStandard, MetadataReader metadataReader)
static QName
getDefaultServiceName(Class<?> implType, MetadataReader metadataReader)
static MetadataReader
getExternalMetadatReader(Class<?> implType, WSBinding binding)
static EndpointFactory
getInstance()
static String
getWsdlLocation(Class<?> implType)
Returns the wsdl from @WebService, or @WebServiceProvider annotation using wsdlLocation element.static String
getWsdlLocation(Class<?> implType, MetadataReader metadataReader)
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 annotationstatic boolean
verifyImplementorClass(Class<?> clz, MetadataReader metadataReader)
Verifies if the endpoint implementor class has @WebService or @WebServiceProvider annotation; passing MetadataReader instance allows to read annotations from xml descriptor instead of class's annotations
-
-
-
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)
ImplementsWSEndpoint.create(java.lang.Class<T>, 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<? extends com.sun.xml.ws.api.server.SDDocumentSource>, 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)
ImplementsWSEndpoint.create(java.lang.Class<T>, 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<? extends com.sun.xml.ws.api.server.SDDocumentSource>, 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, 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
-
verifyImplementorClass
public static boolean verifyImplementorClass(Class<?> clz, MetadataReader metadataReader)
Verifies if the endpoint implementor class has @WebService or @WebServiceProvider annotation; passing MetadataReader instance allows to read annotations from xml descriptor instead of class's annotations- 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
-
getExternalMetadatReader
public static MetadataReader getExternalMetadatReader(Class<?> implType, WSBinding binding)
-
getDefaultServiceName
@NotNull public static QName getDefaultServiceName(Class<?> implType)
If service name is not already set via DD or programmatically, it uses annotationsWebServiceProvider
,WebService
on implementorClass to get PortName.- Returns:
- non-null service name
-
getDefaultServiceName
@NotNull public static QName getDefaultServiceName(Class<?> implType, MetadataReader metadataReader)
-
getDefaultServiceName
@NotNull public static QName getDefaultServiceName(Class<?> implType, boolean isStandard)
-
getDefaultServiceName
@NotNull public static QName getDefaultServiceName(Class<?> implType, boolean isStandard, MetadataReader metadataReader)
-
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, MetadataReader metadataReader)
-
getDefaultPortName
@NotNull public static QName getDefaultPortName(QName serviceName, Class<?> implType, boolean isStandard)
-
getDefaultPortName
@NotNull public static QName getDefaultPortName(QName serviceName, Class<?> implType, boolean isStandard, MetadataReader metadataReader)
-
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 calledverifyImplementorClass(java.lang.Class<?>)
on it.- Returns:
- wsdl if there is wsdlLocation, else null
-
getWsdlLocation
@Nullable public static String getWsdlLocation(Class<?> implType, MetadataReader metadataReader)
Returns the wsdl from @WebService, or @WebServiceProvider annotation using wsdlLocation element.- Parameters:
implType
- endpoint implementation class make sure that you calledverifyImplementorClass(java.lang.Class<?>)
on it.- Returns:
- wsdl if there is wsdlLocation, else null
-
-