Класс ServiceDelegate
- java.lang.Object
-
- javax.xml.ws.spi.ServiceDelegate
public abstract class ServiceDelegate extends Object
Делегаты сервисов используются внутри объектов Service для обеспечения возможности подключаемости реализаций JAX-WS.
Каждый объект Service имеет собственный делегат, созданный с помощью метода Provider.createServiceDelegate(java.net.URL, javax.xml.namespace.QName, java.lang.Class<? extends javax.xml.ws.Service>). Объект Service делегирует все свои методы экземпляра своему делегату.
- Since:
- JAX-WS 2.0
- См. также:
-
Service,Provider
Конструкторы
| Модификатор | Конструктор и описание |
|---|---|
protected |
ServiceDelegate() |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
abstract void |
addPort(QName portName,
String bindingId,
String endpointAddress) Создает новый порт для сервиса. |
abstract <T> Dispatch<T> |
createDispatch(EndpointReference endpointReference,
Class<T> type,
Service.Mode mode,
WebServiceFeature... features) Создаёт экземпляр |
abstract Dispatch<Object> |
createDispatch(EndpointReference endpointReference,
JAXBContext context,
Service.Mode mode,
WebServiceFeature... features) Создаёт экземпляр |
abstract <T> Dispatch<T> |
createDispatch(QName portName,
Class<T> type,
Service.Mode mode) Создаёт экземпляр |
abstract <T> Dispatch<T> |
createDispatch(QName portName,
Class<T> type,
Service.Mode mode,
WebServiceFeature... features) Создаёт экземпляр |
abstract Dispatch<Object> |
createDispatch(QName portName,
JAXBContext context,
Service.Mode mode) Создаёт экземпляр |
abstract Dispatch<Object> |
createDispatch(QName portName,
JAXBContext context,
Service.Mode mode,
WebServiceFeature... features) Создаёт экземпляр |
abstract Executor |
getExecutor() Возвращает исполнителя для данного экземпляра |
abstract HandlerResolver |
getHandlerResolver() Возвращает настроенный обработчик разрешения. |
abstract <T> T |
getPort(Class<T> serviceEndpointInterface) Метод |
abstract <T> T |
getPort(Class<T> serviceEndpointInterface,
WebServiceFeature... features) Метод |
abstract <T> T |
getPort(EndpointReference endpointReference,
Class<T> serviceEndpointInterface,
WebServiceFeature... features) Метод |
abstract <T> T |
getPort(QName portName,
Class<T> serviceEndpointInterface) Метод |
abstract <T> T |
getPort(QName portName,
Class<T> serviceEndpointInterface,
WebServiceFeature... features) Метод |
abstract Iterator<QName> |
getPorts() Возвращает |
abstract QName |
getServiceName() Получает имя этого сервиса. |
abstract URL |
getWSDLDocumentLocation() Получает расположение документа WSDL для этого сервиса. |
abstract void |
setExecutor(Executor executor) Устанавливает исполнителя для данного экземпляра |
abstract void |
setHandlerResolver(HandlerResolver handlerResolver) Устанавливает |
Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Конструкторы
ServiceDelegate
protected ServiceDelegate()
Методы
getPort
public abstract <T> T getPort(QName portName,
Class<T> serviceEndpointInterface) Метод getPort возвращает прокси. Клиент сервиса использует этот прокси для вызова операций на целевом конечной точке сервиса. serviceEndpointInterface указывает интерфейс конечной точки сервиса, который поддерживается созданным динамическим прокси-объектом.
- Параметры:
-
portName- Квалифицированное имя конечной точки сервиса в описании сервиса WSDL -
serviceEndpointInterface- Интерфейс конечной точки сервиса, поддерживаемый динамическим прокси - Возвращает:
- Объект Прокси, который поддерживает указанный интерфейс конечной точки сервиса
- Выбрасывает:
-
WebServiceException- Это исключение выбрасывается в следующих случаях:- Если произошла ошибка при создании прокси
- Если отсутствуют необходимые метаданные WSDL, требуемые этим методом
- Если указано некорректное
serviceEndpointInterfaceилиportName
- См. также:
-
Proxy,InvocationHandler
getPort
public abstract <T> T getPort(QName portName,
Class<T> serviceEndpointInterface,
WebServiceFeature... features) Метод getPort возвращает прокси. Клиент сервиса использует этот прокси для вызова операций на целевой конечной точке сервиса. serviceEndpointInterface указывает интерфейс конечной точки сервиса, который поддерживается созданным динамическим прокси-объектом.
- Параметры:
-
portName- Квалифицированное имя конечной точки сервиса в описании сервиса WSDL -
serviceEndpointInterface- Интерфейс конечной точки сервиса, поддерживаемый динамическим прокси или экземпляром -
features- Список WebServiceFeatures для настройки прокси. Поддерживаемые функции, отсутствующие в параметреfeatures, будут использовать свои значения по умолчанию. - Возвращает:
- Объект Прокси, который поддерживает указанный интерфейс конечной точки сервиса
- Выбрасывает:
-
WebServiceException- Это исключение выбрасывается в следующих случаях:- Если произошла ошибка при создании прокси
- Если отсутствуют необходимые метаданные WSDL, требуемые этим методом
- Если указано некорректное
serviceEndpointInterfaceилиportName - Если включена функция, несовместимая с этим портом или неподдерживаемая.
- Since:
- JAX-WS 2.1
- См. также:
-
Proxy,InvocationHandler,WebServiceFeature
getPort
public abstract <T> T getPort(EndpointReference endpointReference,
Class<T> serviceEndpointInterface,
WebServiceFeature... features) Метод getPort возвращает прокси. Параметр endpointReference указывает конечную точку, которая будет вызываться возвращенным прокси. Если в endpointReference присутствуют параметры ссылки, то эти параметры ссылки ДОЛЖНЫ появляться в заголовках SOAP, указывая их как параметры ссылки, во всех сообщениях, отправленных на конечную точку. Адрес endpointReference's ДОЛЖЕН использоваться для вызовов на конечную точку. Параметр serviceEndpointInterface указывает интерфейс конечной точки сервиса, который поддерживается возвращенным прокси. В реализации этого метода система JAX-WS берет на себя ответственность за выбор привязвания протокола (и порта) и соответствующую настройку прокси на основе WSDL, связанного с этим экземпляром Service или из метаданных endpointReference. Если у этого экземпляра Service есть WSDL, и у метаданных endpointReference тоже есть WSDL, то WSDL из этого экземпляра ДОЛЖЕН использоваться. Если у этого экземпляра Service нет WSDL, а у endpointReference есть WSDL, то WSDL из endpointReference МОЖЕТ использоваться. Возвращаемый прокси не должен быть переконфигурирован клиентом. Если у этого экземпляра Service есть известный порт прокси, соответствующий информации, содержащейся в WSDL, то возвращается этот прокси, в противном случае выбрасывается исключение WebServiceException.
Вызов этого метода имеет такое же поведение, как и следующее
port = service.getPort(portName, serviceEndpointInterface);где
portName извлекается из метаданных endpointReference или из serviceEndpointInterface и WSDL, связанного с этим экземпляром Service.- Параметры:
-
endpointReference-EndpointReferenceдля целевой конечной точки сервиса, которая будет вызываться возвращенным прокси. -
serviceEndpointInterface- Интерфейс конечной точки сервиса. -
features- СписокWebServiceFeaturesдля настройки прокси. Поддерживаемые функции, отсутствующие вfeatures, будут использовать свои значения по умолчанию. - Возвращает:
- Объект Прокси, поддерживающий указанный интерфейс конечной точки сервиса.
- Выбрасывает:
-
WebServiceException-- Если произошла ошибка при создании прокси.
- Если отсутствуют необходимые метаданные WSDL, требуемые этим методом.
- Если метаданные
endpointReferenceне соответствуютserviceNameэтого экземпляраService. - Если
portNameне может быть извлечен из WSDL илиendpointReferenceметаданных. - Если указан некорректный
endpointReference. - Если указан некорректный
serviceEndpointInterface. - Если включена функция, несовместимая с этим портом или неподдерживаемая.
- Since:
- JAX-WS 2.1
getPort
public abstract <T> T getPort(Class<T> serviceEndpointInterface)
Метод getPort возвращает прокси. Параметр serviceEndpointInterface указывает интерфейс конечной точки сервиса, который поддерживается возвращенным прокси. В реализации этого метода система JAX-WS берет на себя ответственность за выбор привязвания протокола (и порта) и соответствующую настройку прокси. Возвращаемый прокси не должен быть переконфигурирован клиентом.
- Параметры:
-
serviceEndpointInterface- Интерфейс конечной точки сервиса - Возвращает:
- Объект, который поддерживает указанный интерфейс конечной точки сервиса
- Выбрасывает:
-
WebServiceException-- Если произошла ошибка при создании прокси
- Если отсутствуют необходимые метаданные WSDL, требуемые этим методом
- Если указан некорректный
serviceEndpointInterface
getPort
public abstract <T> T getPort(Class<T> serviceEndpointInterface,
WebServiceFeature... features) Метод getPort возвращает прокси. Параметр serviceEndpointInterface указывает интерфейс конечной точки сервиса, который поддерживается возвращенным прокси. В реализации этого метода система JAX-WS берет на себя ответственность за выбор привязвания протокола (и порта) и соответствующую настройку прокси. Возвращаемый прокси не должен быть переконфигурирован клиентом.
- Параметры:
-
serviceEndpointInterface- Интерфейс конечной точки сервиса -
features- МассивWebServiceFeaturesдля настройки прокси. Поддерживаемые функции, отсутствующие вfeatures, будут использовать свои значения по умолчанию. - Возвращает:
- Объект, который поддерживает указанный интерфейс конечной точки сервиса
- Выбрасывает:
-
WebServiceException-- Если произошла ошибка при создании прокси
- Если отсутствуют необходимые метаданные WSDL, требуемые этим методом
- Если указан некорректный
serviceEndpointInterface - Если включена функция, несовместимая с этим портом или неподдерживаемая.
- Since:
- JAX-WS 2.1
- См. также:
WebServiceFeature
addPort
public abstract void addPort(QName portName,
String bindingId,
String endpointAddress) Создает новый порт для сервиса. Порты, созданные таким образом, не содержат информации о типе порта WSDL и могут использоваться только для создания экземпляров Dispatch.
- Параметры:
-
portName- Квалифицированное имя целевой конечной точки сервиса -
bindingId- URI идентификатор привязки. -
endpointAddress- Адрес целевой конечной точки сервиса как URI - Выбрасывает:
-
WebServiceException- Если произошла ошибка при создании порта - См. также:
-
SOAPBinding.SOAP11HTTP_BINDING,SOAPBinding.SOAP12HTTP_BINDING,HTTPBinding.HTTP_BINDING
createDispatch
public abstract <T> Dispatch<T> createDispatch(QName portName,
Class<T> type,
Service.Mode mode) Создает экземпляр Dispatch для использования с объектами по выбору пользователя.
- Параметры:
-
portName- Квалифицированное имя целевой конечной точки сервиса -
type- Класс объекта, используемого для сообщений или полезной нагрузки сообщений. Реализации должны поддерживатьjavax.xml.transform.Sourceиjavax.xml.soap.SOAPMessage. -
mode- Управляет тем, является ли созданный экземпляр диспетчера ориентированным на сообщение или полезную нагрузку, т.е. работает ли пользователь с полными сообщениями протокола или полезной нагрузкой сообщений. Например, при использовании протокола SOAP этот параметр управляет тем, будет ли пользователь работать с сообщениями SOAP или содержимым тела SOAP. Режим ДОЛЖЕН бытьMESSAGE, когда типSOAPMessage. - Возвращает:
- Экземпляр диспетчера
- Выбрасывает:
-
WebServiceException- Если произошла ошибка при создании объектаDispatch - См. также:
-
Source,SOAPMessage
createDispatch
public abstract <T> Dispatch<T> createDispatch(QName portName,
Class<T> type,
Service.Mode mode,
WebServiceFeature... features) Создает экземпляр Dispatch для использования с объектами по выбору пользователя.
- Параметры:
-
portName- Полное имя целевого конечной точки сервиса -
type- Класс объекта, используемого для сообщений или полезной нагрузки сообщений. Реализации должны поддерживатьjavax.xml.transform.Sourceиjavax.xml.soap.SOAPMessage. -
mode- Управляет, является ли созданный экземпляр диспетчера ориентированным на сообщение или полезную нагрузку, т.е. будет ли пользователь работать с полными сообщениями протокола или полезной нагрузкой сообщения. Например, при использовании протокола SOAP этот параметр управляет тем, будет ли пользователь работать с сообщениями SOAP или содержимым тела SOAP. Режим ДОЛЖЕН бытьMESSAGEкогда тип являетсяSOAPMessage. -
features- СписокWebServiceFeaturesдля настройки прокси. Поддерживаемые функции, отсутствующие в параметреfeatures, будут иметь значения по умолчанию. - Возвращает:
- Экземпляр диспетчера
- Выбрасывает:
-
WebServiceException- Если возникла любая ошибка при создании объектаDispatchили если включена функция, несовместимая с этим портом или неподдерживаемая. - С:
- JAX-WS 2.1
- См. также:
-
Source,SOAPMessage,WebServiceFeature
createDispatch
public abstract <T> Dispatch<T> createDispatch(EndpointReference endpointReference,
Class<T> type,
Service.Mode mode,
WebServiceFeature... features) Создает экземпляр Dispatch для использования с объектами по выбору пользователя. Если в endpointReference есть какие-либо параметры ссылки, эти параметры ссылки ОБЯЗАТЕЛЬНО должны отображаться как заголовки SOAP, указывая их как параметры ссылки, во всех сообщениях, отправленных на конечную точку. Адрес endpointReference's ОБЯЗАТЕЛЬНО должен использоваться для вызовов на конечной точке. В реализации этого метода система выполнения JAX-WS берет на себя ответственность за выбор привязки протокола (и порта) и настройку диспетчера в соответствии со WSDL, связанным с этим экземпляром Service или из метаданных endpointReference. Если у этого экземпляра Service есть WSDL, и у endpointReference также есть WSDL в своих метаданных, то WSDL из этого экземпляра ДОЛЖЕН использоваться. Если у этого экземпляра Service нет WSDL, а у endpointReference есть WSDL, то WSDL из endpointReference МОЖЕТ быть использован. Реализация ОБЯЗАНА быть способной извлечь portName из метаданных endpointReference.
Этот метод ведет себя так же, как вызов
dispatch = service.createDispatch(portName, type, mode, features);где
portName извлекается из WSDL или метаданных EndpointReference. - Параметры:
-
endpointReference-EndpointReferenceцелевой конечной точки сервиса, которая будет вызываться возвращаемым объектомDispatch. -
type- Класс объекта, используемого для сообщений или полезной нагрузки сообщений. Реализации должны поддерживатьjavax.xml.transform.Sourceиjavax.xml.soap.SOAPMessage. -
mode- Управляет, является ли созданный экземпляр диспетчера ориентированным на сообщение или полезную нагрузку, т.е. будет ли пользователь работать с полными сообщениями протокола или полезной нагрузкой сообщения. Например, при использовании протокола SOAP этот параметр управляет тем, будет ли пользователь работать с сообщениями SOAP или содержимым тела SOAP. Режим ДОЛЖЕН бытьMESSAGEкогда тип являетсяSOAPMessage. -
features- МассивWebServiceFeaturesдля настройки прокси. Поддерживаемые функции, отсутствующие в параметреfeatures, будут иметь значения по умолчанию. - Возвращает:
- Экземпляр диспетчера
- Выбрасывает:
-
WebServiceException-- Если отсутствуют необходимые метаданные WSDL для этого метода.
- Если метаданные
endpointReferenceне соответствуютserviceNameилиportNameWSDL, связанного с этим экземпляромService. - Если
portNameнельзя определить из метаданныхEndpointReference. - Если возникла любая ошибка при создании объекта
Dispatch. - Если включена функция, несовместимая с этим портом или неподдерживаемая.
- С:
- JAX-WS 2.1
- См. также:
-
Source,SOAPMessage,WebServiceFeature
createDispatch
public abstract Dispatch<Object> createDispatch(QName portName,
JAXBContext context,
Service.Mode mode) Создает экземпляр Dispatch для использования с сгенерированными JAXB-объектами.
- Параметры:
-
portName- Полное имя целевого конечной точки сервиса -
context- JAXB-контекст, используемый для кодирования и раскодирования сообщений или полезной нагрузки сообщений. -
mode- Управляет, является ли созданный экземпляр диспетчера ориентированным на сообщение или полезную нагрузку, т.е. будет ли пользователь работать с полными сообщениями протокола или полезной нагрузкой сообщения. Например, при использовании протокола SOAP этот параметр управляет тем, будет ли пользователь работать с сообщениями SOAP или содержимым тела SOAP. - Возвращает:
- Экземпляр диспетчера
- Выбрасывает:
-
WebServiceException- Если возникла любая ошибка при создании объектаDispatch - См. также:
JAXBContext
createDispatch
public abstract Dispatch<Object> createDispatch(QName portName,
JAXBContext context,
Service.Mode mode,
WebServiceFeature... features) Создает экземпляр Dispatch для использования с сгенерированными JAXB-объектами.
- Параметры:
-
portName- Полное имя целевого конечной точки сервиса -
context- JAXB-контекст, используемый для кодирования и раскодирования сообщений или полезной нагрузки сообщений. -
mode- Управляет, является ли созданный экземпляр диспетчера ориентированным на сообщение или полезную нагрузку, т.е. будет ли пользователь работать с полными сообщениями протокола или полезной нагрузкой сообщения. Например, при использовании протокола SOAP этот параметр управляет тем, будет ли пользователь работать с сообщениями SOAP или содержимым тела SOAP. -
features- СписокWebServiceFeaturesдля настройки прокси. Поддерживаемые функции, отсутствующие в параметреfeatures, будут иметь значения по умолчанию. - Возвращает:
- Экземпляр диспетчера
- Выбрасывает:
-
WebServiceException- Если возникла любая ошибка при создании объектаDispatchили если включена функция, несовместимая с этим портом или неподдерживаемая. - С:
- JAX-WS 2.1
- См. также:
-
JAXBContext,WebServiceFeature
createDispatch
public abstract Dispatch<Object> createDispatch(EndpointReference endpointReference,
JAXBContext context,
Service.Mode mode,
WebServiceFeature... features) Создает экземпляр Dispatch для использования с сгенерированными JAXB-объектами. Если в endpointReference есть какие-либо параметры ссылки, эти параметры ссылки ОБЯЗАТЕЛЬНО должны отображаться как заголовки SOAP, указывая их как параметры ссылки, во всех сообщениях, отправленных на конечную точку. Адрес endpointReference's ОБЯЗАТЕЛЬНО должен использоваться для вызовов на конечной точке. В реализации этого метода система выполнения JAX-WS берет на себя ответственность за выбор привязки протокола (и порта) и настройку диспетчера в соответствии со WSDL, связанным с этим экземпляром Service или из метаданных endpointReference. Если у этого экземпляра Service есть WSDL, и у endpointReference также есть WSDL в своих метаданных, то WSDL из этого экземпляра ДОЛЖЕН использоваться. Если у этого экземпляра Service нет WSDL, а у endpointReference есть WSDL, то WSDL из endpointReference МОЖЕТ быть использован. Реализация ОБЯЗАНА быть способной извлечь portName из метаданных endpointReference.
Этот метод ведет себя так же, как вызов
dispatch = service.createDispatch(portName, context, mode, features);где
portName извлекается из WSDL или метаданных endpointReference. - Параметры:
-
endpointReference-EndpointReferenceцелевого конечной точки сервиса, которая будет вызываться возвращаемым объектомDispatch. -
context- JAXB-контекст, используемый для кодирования и раскодирования сообщений или полезной нагрузки сообщений. -
mode- Управляет, является ли созданный экземпляр диспетчера ориентированным на сообщение или полезную нагрузку, т.е. будет ли пользователь работать с полными сообщениями протокола или полезной нагрузкой сообщения. Например, при использовании протокола SOAP этот параметр управляет тем, будет ли пользователь работать с сообщениями SOAP или содержимым тела SOAP. -
features- МассивWebServiceFeaturesдля настройки прокси. Поддерживаемые функции, отсутствующие в параметреfeatures, будут иметь значения по умолчанию. - Возвращает:
- Экземпляр диспетчера
- Выбрасывает:
-
WebServiceException-- Если отсутствуют необходимые метаданные WSDL для этого метода.
- Если метаданные
endpointReferenceне соответствуютserviceNameилиportNameWSDL, связанного с этим экземпляромService. - Если
portNameнельзя определить из метаданныхEndpointReference. - Если возникла любая ошибка при создании объекта
Dispatch. - Если включена функция, несовместимая с этим портом или неподдерживаемая.
- С:
- JAX-WS 2.1
- См. также:
-
JAXBContext,WebServiceFeature
getServiceName
public abstract QName getServiceName()
Получает имя этого сервиса.
- Возвращает:
- Полное имя этого сервиса
getPorts
public abstract Iterator<QName> getPorts()
Возвращает Iterator для списка QName конечных точек сервиса, сгруппированных по этому сервису
- Возвращает:
- Возвращает
java.util.Iteratorс элементами типаjavax.xml.namespace.QName - Выбрасывает:
-
WebServiceException- Если этот класс Service не имеет доступа к необходимым метаданным WSDL
getWSDLDocumentLocation
public abstract URL getWSDLDocumentLocation()
Получает расположение документа WSDL для этого сервиса.
- Возвращает:
- URL расположения документа WSDL для этого сервиса
getHandlerResolver
public abstract HandlerResolver getHandlerResolver()
Возвращает настроенный разрешитель обработчиков.
- Возвращает:
- HandlerResolver Используемый этим экземпляром
Serviceрезолвер обработчиков, илиnull, если его нет.
Установить резолвер обработчиков
public abstract void setHandlerResolver(HandlerResolver handlerResolver)
Устанавливает резолвер обработчиков для этого экземпляра Service.
Резолвер обработчиков, если он присутствует, будет вызван один раз для каждого прокси- или диспетчерского экземпляра, создаваемого, и цепочка обработчиков, возвращаемая резолвером, будет установлена на экземпляре.
- Параметры:
-
handlerResolver- Резолвер обработчиков, который будет использоваться для всех последующих создаваемых прокси/диспетчерских объектов. - См. также:
HandlerResolver
Получить исполнителя
public abstract Executor getExecutor()
Возвращает исполнителя для этого экземпляра Service. Исполнитель используется для всех асинхронных вызовов, требующих обратных вызовов.
- Возвращает:
- Исполнитель
java.util.concurrent.Executor, используемый для вызова обратного вызова. - См. также:
Executor
Установить исполнителя
public abstract void setExecutor(Executor executor)
Устанавливает исполнителя для этого экземпляра Service. Исполнитель используется для всех асинхронных вызовов, требующих обратных вызовов.
- Параметры:
-
executor- Исполнительjava.util.concurrent.Executor, используемый для вызова обратного вызова. - Исключения:
-
SecurityException- Если экземпляр не поддерживает установку исполнителя по соображениям безопасности (например, отсутствуют необходимые разрешения). - См. также:
Executor
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.