Обработчик HTTP

Обработчик HTTP - это компонент Java, в состав которого входят свойства. Этот обработчик доставляет входящее сообщение интеграции в виде документа XML в URL при помощи протоколов HTTP или HTTPS. Кроме того, обработчик HTTP оценивает код ответа, полученный из внешней системы.

Свойство HTTPEXIT

Это необязательное свойство используется для настройки и задает полное имя класса Java, интерпретирующего ответ HTTP. Это свойство помогает также реализовать код, требуемый внешней системе для интерпретации ответа HTTP.

Этот класс Java должен быть доступен в файле EAR прикладной программы и указан в пути классов обработчика.

Табл. 1. Значения свойств
Свойство Значение
Класс Java DefaultHTTPExit.java
Пакет psdi.iface.router
Свойство HTTPEXIT psdi.iface.router.DefaultHTTPExit

Если не задать значение этого свойства, будет выполняться класс обработчика пользователя DefaultHTTPExit, реализующий интерфейс psdi.iface.router.HTTPExit. У этого класса Java есть следующие методы ключей.

Табл. 2. Методы ключей для класса Java
Метод Подпись Описание
processResponseData() public void processResponseData(int responseCode, String responseMsg, byte[] msgBodyData) throws MXException

Реализация по умолчанию сопоставляет код ответа из внешней системы с диапазоном допустимых кодов (значения 200 - 299). Если код ответа находится вне этого диапазона, система считает, что сообщение не было доставлено во внешнюю систему. Генерируется исключительная ситуация, и сообщение остается в очереди.

Если для конкретной реализации требуется дополнительная обработка, разверните реализацию по умолчанию и переопределите метод processResponseData (). Можно также реализовать интерфейс psdi.iface.router.HTTPExit. Если ответ, полученный из внешней системы, не пройдет проверку в этом классе, метод переопределения должен сгенерировать исключительную ситуацию.

Если для этого свойства не задать значение, будет запущена реализация по умолчанию HTTPExit.

getURLProperties() public Map String, String getURLProperties(Map String,? metaData, byte[] data, Map String,MaxEndPointPropInfo httpInfo) Возвращает отображение свойств URL, добавленных к URL, в форме url?свойство1=значение1&... Реализация по умолчанию возвращает пустое значение.
getHeaderProperties() public Map String, String getHeaderProperties(Map String,? metaData, byte[] data, Map String,MaxEndPointPropInfo httpInfo) Возвращает отображение свойств заголовка HTTP для требования. Реализация по умолчанию возвращает пустое значение, только если отображение свойств заголовка не связано с отображением метаданных, содержащим ключ HEADERPROPS.
transformPayloadToFormData() public Map String, String transformPayloadToFormData
(Map String,? metaData, byte[] data,Map String,MaxEndPointPropInfo destinationMap)
Преобразует полезную нагрузку XML в данные. Реализация по умолчанию возвращает пустое значение.
Вы можете использовать следующие методы для управления исключительными ситуациями в случае возникновения ошибки. Если вы создаете сценарий, который включает в себя один из этих методов, включите переключатель Разрешить вызов методов, чтобы процессор сценариев мог вызывать функции сценариев, отображаемые на эти методы.
Табл. 3. Методы для настройки исключительных ситуаций
Метод Описание
urlProps() Добавляет параметры запросы в сконфигурированный URL. Интерфейс psdi.iface.router.ScriptHTTPReq реализует объект требования.
getUrl() Задает URL для вызова HTTP.
headerProps() Задает заголовки требования для вызова HTTP.
processResponse() Обрабатывает ответ HTTP. Интерфейс psdi.iface.router.ScriptHTTPResp реализует объект ответа.

Свойство CONNECTTIMEOUT

Это необязательное свойство задает значение срока ожидания для соединения в миллисекундах.

Свойство READTIMEOUT

Это необязательное свойство задает значение срока ожидания для операций чтения в миллисекундах.

Свойство HTTPMETHOD

Это обязательное свойство задает допустимый метод HTTP, который выполняет конечная точка. Допустимые методы HTTP - GET, POST, PUT и DELETE.

Свойство HTTPHEADER

Это необязательное свойство может добавить список имен и значений через запятую в раздел заголовка сообщений HTTP. Этот список включает в себя информацию об именах и значениях в формате имя_заголовка1:значение_заголовка1, имя_заголовка2:значение_заголовка2. Если в свойстве не задано никакого значения, пользовательский код может встроить значения в контекст транзакции при обработке канала вызовов.

Свойство URL

Это необязательное свойство задает допустимый URL, куда могут быть отправлены данные XML или где может выполнена операция HTTP GET.

Свойства USERNAME и PASSWORD

Если URL требует базовой аутентификации, эти свойства задают требуемые значения. Оба значения передаются в URL в кодировке MIME.