NiFi 如何将 InvokeHTTP 处理器与 SOAP 结合使用

2024-04-26

我看到其他人已经能够使其发挥作用,但是我无法找到足够的详细信息来解释他们如何实现这一目标,以便我能够使其发挥作用。

This guy http://apache-nifi-developer-list.39713.n7.nabble.com/SOAP-Service-through-InvokeHTTP-td13129.html at 这个链接 http://apache-nifi-developer-list.39713.n7.nabble.com/SOAP-Service-through-InvokeHTTP-td13129.html声称他能够做到这一点。虽然有关于如何执行此操作的简短描述,但我并不完全理解。

提出的解决方案是:

使用 InvokeHTTP,您可以添加动态属性,这些属性将作为标头在请求中发送。您可以使用动态属性来设置 Content-Type 和 SOAPAction 标头的值,只需使用标头名称作为动态属性的名称即可。 InvokeHTTP 允许您控制 HTTP 方法,因此您可以将其设置为 POST。剩下的步骤是获取 request.xml 的内容作为流文件发送到 InvokeHTTP。实现此目的的一种方法是使用 GetFile 处理器从文件系统上的某个位置获取 requeset.xml,并将 GetFile 的成功关系传递给 InvokeHTTP

--Jeff.

我正在使用 SOAPUI 来验证一切是否正常,并且在我收到适当的 XML 响应时它确实有效。然而我无法在 NiFi 中实现这一点。我的猜测是我不知道如何称呼我的动态属性。我也不完全明白我要添加哪些数据Value我的动态属性。

调用HTTP处理器属性屏幕截图:


这里我遗漏的关键是需要将 xml SOAP 请求作为流文件内容而不是流文件属性发送。我花了一段时间才了解如何创建具有自定义内容的流文件。

关键是使用InvokeHTTP处理器发出 SOAP 请求是 InvokeHTTP 处理器接收作为流文件形式的 xml SOAP 请求的要求,因为当处理器发送 http POST 请求时,它会发送它的属性作为 SOAP 请求的标头和传入的流文件内容作为 SOAP 主体。这需要一段时间才能理解,然后才弄清楚如何自定义流文件的内容。

我最初的错误是我尝试使用GenerateFlowFile处理器本身并将其直接发送到 InvokeHTTP 处理器。这对我来说不起作用,因为我不知道如何将放置到GenerateFlowFile动态属性中的“文本”转换为内容。

终于有个人了HERE https://www.mail-archive.com/dev@nifi.apache.org/msg14218.html告诉我如何使用自定义内容创建流文件ReplaceText处理器来转换我在中创建的属性GenerateFlowFile处理器作为流文件内容。

最后,我获得了 InvokeHTTP 处理器发送/POST SOAP 请求所需的正确格式的流文件。

流程截图:

GenerateFlowFile 和 ReplaceText 处理器的属性:

最后我们只需要添加一些动态属性到InvokeHTTP处理器并将其与传入的流文件一起作为 HTTP POST 请求提交。同样,属性作为标头发送,传入的流文件内容作为正文发送。这需要一点时间来理解,但是一旦您将各个部分组合在一起并正确设置,就会变得非常容易。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NiFi 如何将 InvokeHTTP 处理器与 SOAP 结合使用 的相关文章

随机推荐

  • React Bootstrap 没有设计我的 React 组件的样式

    昨天刚开始使用 React 因此设置了一个演示应用程序 环境是 打字稿 Webpack 反应和反应 DOM 我正在尝试设置 Bootstrap 样式 我按照本教程进行操作 但对其进行了修改以适应 Typescript https mediu
  • 用 SED 或 PERL 单行匹配并替换多个换行符

    我有一个输入 C 文件 myfile c 如下所示 void func foo void func bar supercrazytag 我想使用 shell 命令插入新的函数原型 这样输出就变成 void func foo void fun
  • Axios 和 VueJS,函数(响应)未设置列表

    我有一个请求获取一些数据并将其添加到变量中 当我使用时 then function response this persons response data 它不分配response data to this persons但是当我执行以下操
  • 如何从 VB.NET 中的存储过程获取返回值

    我在 SQL Server 中有一个存储过程用于生成事务号 任何人都可以帮助我如何从 VB NET 调用存储过程以及如何获取从过程返回到前端的值 问候 乔治 我想你想要这样的东西 Public Sub Foo Using sql As Ne
  • 为什么从 Dropzone.js 发送时 IFormFile 集合为空?

    我正在尝试使用Dropzone js http www dropzonejs com 将 IFormFile 图像 集合发送到以下 ASP NET Core 2 1 Api 控制器操作 HttpPost action public asyn
  • 如何使用 word2vec 找到与向量最接近的单词

    我刚刚开始使用 Word2vec 我想知道如何找到最接近向量的单词 我有这个向量 它是一组向量的平均向量 array 0 00449447 0 00310097 0 02421786 dtype float32 有没有一种直接的方法可以在我
  • 如何处理 ember.js 组件中的自定义事件?

    我是 Ember js 的新手 在理解其原理时遇到了一些问题 我知道行动向上 数据向下但在现实生活中 假设我有Fotorama http fotorama io 在 my gallery 组件中初始化 我不知道这是否可以 但我是在didIn
  • EditText请求焦点

    我正在设计一个登录页面 UserName Password LoginButton 当活动开始时 我希望焦点转到 用户名 文本框并显示键盘 我正在使用以下代码 boolean checkFocus user requestFocus Log
  • 从数据框中删除所有非唯一行

    抱歉 这是我的第二篇文章 如果有什么不明白的地方请告诉我 我正在尝试删除所有有重复项的行 我已经尝试过keep False参数为drop duplicates 它只是没有做正确的事情 假设我的数据框看起来像这样 ORDER ID ITEM
  • 将带有 UIElement 的 FlowDocument 导出为 rtf

    我正在尝试导出一个FlowDocument其中包含一个 rtf 网格 我使用了以下代码 using FileStream fs new FileStream C demo rtf FileMode OpenOrCreate FileAcce
  • 我应该在 Uber 应用程序中放置什么重定向 URL?

    我正在阅读 Uber 的 sdk api 文档 但我是菜鸟 我不知道redirectURL 应该是什么 这是 Uber 提供的给定网址吗 因为我找不到它 或者是由应用程序开发人员部署自己的服务器 本地计算机定制的网页的 URL 如果是的话我
  • json_encode 可以触发 catch 块吗? [复制]

    这个问题在这里已经有答案了 这可能是一个非常简单的问题 但我找不到任何相关信息 我使用的系统聚合了来自不同来源的大量数据 然后将这些数据存储在数据库中 在大多数情况下 系统工作正常 但有时我们会遇到一个问题 即数据可能具有我们的系统不喜欢的
  • 使用 Spring Data 进行不区分大小写的排序

    如何使用 Spring data Pageable 进行不区分大小写的排序 我的存储库中有这个方法 public interface ItemRepository extends QueryDslPredicateExecutor
  • 使用类方法作为 celery 任务

    我正在尝试使用类的方法作为 django celery 任务 并使用 task 装饰器对其进行标记 描述了同样的情况here https stackoverflow com questions 8846489 celery python o
  • viewForHeaderInSection 的框架始终大小相同

    UIView tableView UITableView tableView viewForHeaderInSection NSInteger section if section 0 UIView view UIView alloc in
  • 在Python中分配空值或字符串

    我想了解分配空值和空输出之间是否有区别 如下所示 1 gt 像这样分配一个值 string 2 gt 作为输出返回空值 string abcd str1 str2 split 换句话说 1 gt 中的 string 和2 gt 中的 str
  • 检查是否有任何输入元素处于焦点

    我有一个 jquery 脚本 当按下键盘上的任意键时 它会显示一个 div 我想向脚本添加一个条件 仅当页面上没有其他输入区域 文本区域或文本字段 处于焦点时才运行脚本 这样您就可以在页面的其余部分实际键入内容 而无需显示 div docu
  • 如何在 Linux 中离线安装 vscode-server [重复]

    这个问题在这里已经有答案了 我正在尝试安装 VScode 远程 ssh 扩展 但我的远程主机无法连接到互联网 因此无法下载软件 所以我收到了一些类似的错误消息 SSH Resolver called for ssh remote kf SS
  • java与maven和eclipse中的clojure混合

    我创建了一个示例多语言程序 我有一个用java实现的传感器和一个机器人 以及用clojure实现的AI 我无法正确连接maven src main java clojuretest DistanceSensor java AI clj us
  • NiFi 如何将 InvokeHTTP 处理器与 SOAP 结合使用

    我看到其他人已经能够使其发挥作用 但是我无法找到足够的详细信息来解释他们如何实现这一目标 以便我能够使其发挥作用 This guy http apache nifi developer list 39713 n7 nabble com SO