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