SOAP коннектор
|
Этот раздел перенесён из документации Camunda 7 и в дальнейшем будет доработан с учётом особенностей OpenBPM Engine |
В Camunda Connect существует класс Connectors, который автоматически обнаруживает каждый коннектор в classpath. Его можно использовать, чтобы получить экземпляр SOAP коннектора по его connector ID, который равен soap-http-connector.
SoapHttpConnector soap = Connectors.getConnector(SoapHttpConnector.ID);
SOAP коннектор расширяет Camunda Connect HTTP коннектор, который использует Apache HTTP клиент в реализации по умолчанию. Чтобы узнать о конфигурациях для клиента по умолчанию и кастомизированных клиентах, см. соответствующий раздел в документе по HTTP коннектору.
Запрос
Создание запроса
SOAP HTTP connector can be used to create a new request, может использоваться для создания нового запроса, установки URL, content type и рабочей нагрузки.
connector.createRequest()
.url("http://camunda.org/soap")
.soapAction("doIt")
.contentType("application/soap+xml")
.payload(soap_envelope)
.execute();
Добавление HTTP заголовков к запросу
Чтобы добавить собственные заголовки к HTTP запросу, доступен метод header.
connector.createRequest()
.url("http://camunda.org/soap")
.soapAction("doIt")
.contentType("application/soap+xml")
.header("Accept", "application/xml")
.payload(soap_envelope)
.execute();
Использование API общего назначения
Помимо методов для конфигурации, существует также API общего назначения (generic) для установки параметров запроса. Доступны следующие параметры:
| Параметр | Описание |
|---|---|
method |
Устанавливает HTTP метод запроса |
url |
Устанавливает URL запроса |
headers |
Содержит map сконфигурированных HTTP заголовков запроса |
payload |
Устанавливает рабочую нагрузку (payload) запроса |
Это можно использовать следующим образом:
HttpRequest request = http.createRequest();
request.setRequestParameter("method", "GET");
request.setRequestParameter("url", "http://camunda.org");
request.setRequestParameter("payload", "hello world!");
Ответ
Ответ содержит код статуса, заголовки ответа и тело.
Integer statusCode = response.getStatusCode();
String contentTypeHeader = response.getHeader("Content-Type");
String body = response.getResponse();
После обработки ответа он должен быть закрыт.
response.close()
Использование API общего назначения
Помимо методов ответа, предоставляется API общего назначения для сбора параметров запроса. Доступны следующие параметры:
| Параметр | Описание |
|---|---|
statusCode |
Содержит код статуса ответа |
headers |
Содержит map с HTTP заголовками ответа |
response |
Содержит тело ответа |
Это можно использовать следующим образом:
response.getResponseParameter("statusCode");
response.getResponseParameter("headers");
response.getResponseParameter("response");
Лицензия и атрибуция
Эта документация была создана на базе материала "Camunda 7 Docs" от Camunda, находится под лицензией Creative Commons Attribution-ShareAlike 3.0 Unported License .
Оригинал документации: https://docs.camunda.org