Я не могу использовать метод invokeHTTP с методом Post в NIFI

У меня нет проблем с отправкой запросов типа NIFI. В статьях, которые я видел, я использовал компонент «invokeHTTP» с конфигурацией «post» внутри него. Мне нужно отправить JSON на фиксированный адрес, а invokeHTTP не работает. Вы можете сделать то же самое с POSTMAN, и это работает, однако в NIFI я не могу.

Я поместил тело запроса в поле «Поместить тело ответа в атрибут».

Дизайн можно сделать с помощью CORS не беспокоить (проект и NIFI находятся в локальной сети, на портах 8081 и 8088 соответственно).

Я хотел бы знать, есть ли у кого-нибудь намеки на то, почему мой проект не получает запрос NIFI, а получает от POSTMAN. Может я что-то не так устанавливаю...

Не могли бы вы опубликовать свой вопрос на английском языке?

Robert Kock 09.04.2019 16:02

Извините, я отредактировал вопрос

Caroline Telles 09.04.2019 16:05
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
2
1 527
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я думаю, что проблема в теле запроса. Похоже, вы помещаете тело запроса в атрибут, указанный в свойстве Поместите тело ответа в атрибут.

Для InvokeHTTP потоковый файл содержание включается в тело запроса.

Поместите JSON, который вы хотите отправить через HTTP POST, в содержимое потокового файла до того, как потоковый файл достигнет вашего процессора InvokeHTTP.

Свойство Поместите тело ответа в атрибут указывает, что тело ответа HTTP должно быть записано в именованный атрибут потокового файла как часть входного потокового файла (а не поведение по умолчанию, которое заключается в создании нового выходного потокового файла с содержимым HTTP-ответа).

Спасибо, но я сделал по другому. Я получил обработчик GenerateFlowFile и поместил туда JSON. Затем я подключил его к текстовому процессору Extract и вызвал InvokeHTTP. Это сработало.

Caroline Telles 09.04.2019 22:18

Рад, что это работает для вас! Я подозреваю, что это будет работать без шага ExtractText. ExtractText скопирует все содержимое потокового файла или его часть (в зависимости от используемого регулярного выражения) в атрибут, но JSON все еще находится в содержимом потокового файла, вы только что скопировали его. InvokeHTTP использует JSON из содержимого файла потока. Поэтому, если вы сделали GenerateFlowFile >> InvokeHTTP, это также должно работать.

kevdoran 10.04.2019 14:44

Другие вопросы по теме