public class EndpointFactory extends Object
Constructor and Description |
---|
EndpointFactory() |
Modifier and Type | Method and 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,
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)
|
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
|
public static EndpointFactory getInstance()
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)
WSEndpoint.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.
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)
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)
WSEndpoint.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.
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)
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)
protected boolean isUseProviderTube(Class<?> implType, boolean isStandard)
protected EndpointAwareTube createSEIInvokerTube(AbstractSEIModelImpl seiModel, Invoker invoker, WSBinding binding)
protected <T> EndpointAwareTube createProviderInvokerTube(Class<T> implType, WSBinding binding, Invoker invoker, Container container)
public static boolean verifyImplementorClass(Class<?> clz)
IllegalArgumentException
- If it doesn't have any one of @WebService or @WebServiceProvider
If it has both @WebService and @WebServiceProvider annotations@NotNull public static QName getDefaultServiceName(Class<?> implType)
WebServiceProvider
, WebService
on implementorClass to get PortName.@NotNull public static QName getDefaultServiceName(Class<?> implType, boolean isStandard)
@NotNull public static QName getDefaultPortName(QName serviceName, Class<?> implType)
@NotNull public static QName getDefaultPortName(QName serviceName, Class<?> implType, boolean isStandard)
@Nullable public static String getWsdlLocation(Class<?> implType)
implType
- endpoint implementation class
make sure that you called verifyImplementorClass(java.lang.Class<?>)
on it.Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved.