T.M. SoftStudio

feci quod potui, faciant meliora potentes

JAX-RPC API

Пакет javax.xml.rpc

Пакет javax.xml.rpc содержит интерфейсы Call, Service, Stub и классы NamespaceConstants, ParameterMode и ServiceFactory, а также исключения JAXRPCException и ServiceException.

Интерфейс Stub реализуется Stub-классом, генерируемым JAX-RPC-реализацией на стороне клиента. Интерфейс Stub имеет следующие свойства и методы:

  • static final java.lang.String USERNAME_PROPERTY — имя пользователя для аутентификации;

  • static final java.lang.String PASSWORD_PROPERTY — пароль для аутентификации;

Примечание

Свойства USERNAME_PROPERTY и PASSWORD_PROPERTY интерфейса Stub позволяют реализовывать программную аутентификацию клиента для конечной точки Web-сервиса.

  • static final java.lang.String ENDPOINT_ADDRESS_PROPERTY — адрес конечной точки Web-сервиса;

  • static final java.lang.String SESSION_MAINTAIN_PROPERTY — если true, тогда клиент участвует в HTTP-сессии, инициированной конечной точкой Web-сервиса;

  • void _setProperty(java.lang.String name, java.lang.Object value), java.lang.Object _getProperty(java.lang.String name), java.util.Iterator _getPropertyNames() — первый метод устанавливает, второй метод возвращает свойства Stub-объекта.

Класс ServiceFactory используется клиентским приложением для создания Service-объекта, являющегося фабрикой объектов статической или динамической заглушки, а также Call-объектов. Реализация ServiceFactory обеспечивается средой выполнения JAX-RPC. Класс ServiceFactory имеет следующие поля и методы:

  • public static final java.lang.String SERVICEFACTORY_PROPERTY — имя реализации класса ServiceFactory;

  • public static ServiceFactory newInstance() — возвращает ServiceFactory-объект;

  • public abstract Service createService(java.net.URL wsdlDocumentLocation,
    javax.xml.namespace.QName serviceName)

public abstract Service createService(javax.xml.namespace.QName
serviceName)

public abstract Service loadService(java.lang.Class serviceInterface)

public abstract Service loadService(java.net.URL wsdlDocumentLocation,
java.lang.Class serviceInterface, java.util.Properties properties)

public abstract Service loadService(java.net.URL wsdlDocumentLocation,
javax.xml.namespace.QName serviceName,
java.util.Properties properties)

Возвращают Service-объект.

Интерфейс Service реализуется генерируемым с помощью JAX-RPC-инструмента Service-классом или Service-объектом, полученным методом класса ServiceFactory. Service-объект служит фабрикой для создания Stub-объектов, Proxy-объектов и Call-объектов, используя следующие методы.

  • java.rmi.Remote getPort(javax.xml.namespace.QName portName,
    java.lang.Class serviceEndpointInterface)

java.rmi.Remote getPort(java.lang.Class serviceEndpointInterface)

Возвращают Stub-объект или Proxy-объект.

  • Call[] getCalls(javax.xml.namespace.QName portName)

Call createCall(javax.xml.namespace.QName portName)

Call createCall(javax.xml.namespace.QName portName,
javax.xml.namespace.QName operationName)

Call createCall(javax.xml.namespace.QName portName,
java.lang.String operationName)

Call createCall()

Возвращают Call-объекты.

  • javax.xml.namespace.QName getServiceName()

Возвращает имя Web-сервиса.

  • java.util.Iterator getPorts()

Возвращает итератор для списка портов Web-сервиса.

  • java.net.URL getWSDLDocumentLocation()

Возвращает адрес WSDL-документа.

  • TypeMappingRegistry getTypeMappingRegistry()

Возвращает объект javax.xml.rpc.encoding.TypeMappingRegistry, служащий реестром объектов javax.xml.rpc.encoding.TypeMapping, которые обеспечивают связывание Java-типов c XML-типами.

  • HandlerRegistry getHandlerRegistry()

Возвращает объект javax.xml.rpc.handler.HandlerRegistry, служащий реестром обработчиков SOAP-сообщений.

Интерфейс Call обеспечивает динамический вызов конечной точки Web-сервиса без генерации заглушки с помощью следующих свойств и методов.

  • static final java.lang.String USERNAME_PROPERTY — имя клиента для аутентификации.

  • static final java.lang.String PASSWORD_PROPERTY — пароль для аутентификации.

Примечание

Свойства USERNAME_PROPERTY и PASSWORD_PROPERTY интерфейса Call позволяют реализовывать программную аутентификацию клиента для конечной точки Web-сервиса.

  • static final java.lang.String OPERATION_STYLE_PROPERTY — стиль "rpc" или "document" вызываемой операции.

  • static final java.lang.String SOAPACTION_USE_PROPERTY — если true, тогда заголовок SOAPAction используется.

  • static final java.lang.String SOAPACTION_URI_PROPERTY — URI-идентификатор для SOAPAction-заголовка.

  • static final java.lang.String ENCODINGSTYLE_URI_PROPERTY — URI стиля кодировки, по умолчанию http://schemas.xmlsoap.org/soap/encoding/.

  • static final java.lang.String SESSION_MAINTAIN_PROPERTY — если true, тогда клиент участвует в сессии, инициированной конечной точкой.

  • boolean isParameterAndReturnSpecRequired(javax.xml.namespace.QName
    operationName)

Если true, тогда вызывались методы addParameter() и setReturnType() для указанной операции.

  • void addParameter(java.lang.String paramName, javax.xml.namespace.QName xmlType, ParameterMode parameterMode)

void addParameter(java.lang.String paramName,
javax.xml.namespace.QName xmlType, java.lang.Class javaType,
ParameterMode parameterMode)

Устанавливают параметры для вызываемой операции. Объект javax.xml.rpc.ParameterMode указывает тип параметра IN, OUT или INOUT.

  • javax.xml.namespace.QName getParameterTypeByName(java.lang.String
    paramName)

Возвращает XML-тип параметра.

  • void setReturnType(javax.xml.namespace.QName xmlType)

void setReturnType(javax.xml.namespace.QName xmlType,
java.lang.Class javaType)

javax.xml.namespace.QName getReturnType()

Устанавливает и выдает тип возвращаемого операцией значения.

  • void removeAllParameters()

setReturnType(null)

Очищают объект Call.

  • javax.xml.namespace.QName getOperationName()

void setOperationName(javax.xml.namespace.QName operationName)

Первый метод возвращает, второй метод устанавливает имя операции.

  • javax.xml.namespace.QName getPortTypeName()

void setPortTypeName(javax.xml.namespace.QName portType)

Первый метод возвращает, второй метод устанавливает имя порта.

  • void setTargetEndpointAddress(java.lang.String address)

java.lang.String getTargetEndpointAddress()

Первый метод устанавливает, второй метод возвращает адрес конечной точки Web-сервиса.

  • void setProperty(java.lang.String name, java.lang.Object value)

java.lang.Object getProperty(java.lang.String name)

void removeProperty(java.lang.String name)

Первый метод устанавливает, второй метод возвращает, а третий метод удаляет свойства Call-объекта.

  • java.util.Iterator getPropertyNames()

Возвращает итератор свойств Call-объекта.

  • java.lang.Object invoke(java.lang.Object[] inputParams)

java.lang.Object invoke(javax.xml.namespace.QName operationName,
java.lang.Object[] inputParams)

Вызывают операцию в синхронном режиме "запрос — ответ".

  • void invokeOneWay(java.lang.Object[] inputParams)

Вызывает операцию в синхронном режиме "запрос без ответа", ожидает HTTP-код 200 или HTTP-код ошибки.

  • java.util.Map getOutputParams()

java.util.List getOutputValues()

Возвращают исходящие параметры.