soap - NiFi 如何使用带有 SOAP 的 InvokeHTTP 处理器

标签 soap soapui apache-nifi

我看到其他人已经能够让它工作,但是我无法找到足够的细节来解释他们是如何做到这一点的,以便我让它工作。

This guythis link声称他能够做到这一点。虽然有关于如何执行此操作的简要说明,但我并不完全理解。

提出的解决方案是:

With InvokeHTTP, you can add dynamic properties, which will be sent in the request as headers. You can use dynamic properties to set values for the Content-Type and SOAPAction headers, just use the header names for the names of the dynamic properties. InvokeHTTP lets you control the HTTP method, so you can set that to POST. The remaining step would be to get the content of request.xml to be sent to the InvokeHTTP as a flowfile. One way to do this is to use a GetFile processor to fetch requeset.xml from some location on the filesystem, and pass the success relationship of GetFile to InvokeHTTP

--Jeff.

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

InvokeHTTP 处理器属性截图:

InvokeHTTP Processor Properties Screenshot

最佳答案

我缺少的关键是需要将 xml SOAP 请求作为流文件内容而不是流文件属性发送。我花了一段时间才知道如何使用自定义内容创建流文件。

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

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

终于有个人了HERE提示我如何通过使用 ReplaceText 处理器将我在 GenerateFlowFile 处理器中创建的属性转换为流文件内容来创建具有自定义内容的流文件.

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

流程截图:

enter image description here

GenerateFlowFile 和 ReplaceText 处理器的属性:

enter image description here

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

enter image description here

关于soap - NiFi 如何使用带有 SOAP 的 InvokeHTTP 处理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49457764/

相关文章:

java - CUCM 8.5 AXLAPI 中的示例 doAuthenticateUser 请求消息

android - Android 上的 SOAP Web 服务

c# - 使用 PFX 证书发送 HttpWebRequest C#

Android 客户端和 PHP 服务器 : common practice in communication

xml - 使用 groovy 在 SoapUI 中解析 XML 响应

xml - Groovy Xml Holder 返回 'null' 作为现有属性的值

mysql - datasource导致sopui测试失败

java - 解码 Base 64 数据时出现垃圾字符

regex - nifi route文本处理器使用问题

rest - 使用维基百科的 RecentChanges API 进行实时数据流