java.lang.Object
com.sun.xml.ws.server.EndpointFactory
Entry point to the JAX-WS RI server-side runtime.
- Author:
- Kohsuke Kawaguchi, Jitendra Kotamraju
-
Method Summary
Modifier and TypeMethodDescription<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
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 Details
-
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
-
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
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
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
-
getDefaultServiceName
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
-
getDefaultServiceName
@NotNull public static QName getDefaultServiceName(Class<?> implType, boolean isStandard, MetadataReader metadataReader) -
getDefaultPortName
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
-
getDefaultPortName
@NotNull public static QName getDefaultPortName(QName serviceName, Class<?> implType, boolean isStandard, MetadataReader metadataReader) -
getWsdlLocation
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
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
-