длина содержимого шины интеграции httprequest - PullRequest
0 голосов
/ 12 ноября 2019

Для отправки запроса PUT на http-сервер я использую узел HttpRequest. Сообщение проходит через вычислительный узел ESQL. Проблема заключается в том, что длина содержимого сообщения, отправляемого на сервер, равна 0. Запрос не содержит никаких данных, хотя переменная, используемая для тела сообщения, имеет содержимое. Как я могу передать содержимое положенного http-запроса из кода esql?

Код esql выглядит следующим образом:

SET OutputLocalEnvironment = InputLocalEnvironment; 
SET OutputLocalEnvironment.Destination.HTTP.RequestURL = ...; 
SET OutputRoot.HTTPRequestHeader."Content-Type" = 'text/plain'; 
SET OutputRoot.HTTPRequestHeader."Authorization" = 'Bearer ' || … ; 
SET OutputRoot.HTTPRequestHeader."Host" = ...'; 
SET OutputRoot.BLOB = CAST(InputRoot.BLOB.BLOB as char CCSID 1208 Encoding 815); 

Конфигурация узла HTTPRequest:

HttpSettings

HTTP method: PUT 
HTTP version 1.1 
Enable keep-alive <checked> 

Request Timeout: 20 
HTTP Proxy Location : <blank> 
Follow HTTP redirection: <unchecked> 

Advanced: 
Use whole input message as request : <un-checked> 
Request Message Location in Tree : InputRoot.BLOB 
Replace input message with web-service response: <checked> 
Generate default HTTP headers : <un-checked> 

VALIDATION: None

1 Ответ

2 голосов
/ 12 ноября 2019

Пожалуйста, попробуйте:

SET OutputRoot.BLOB.BLOB = CAST(InputRoot.BLOB.BLOB as char CCSID 1208 Encoding 815); 

(у меня нет логического объяснения, но вы правильно сделали для ввода) Кстати, эта строка выглядит немного странно для меня

...