2017-06-28 16 views
0

我想通过邮递员发送POST请求的文件,并且该文件需要保存在本地FS中。我尝试了所有4个选项GetHttp,InvokeHttp,ListenHttp,HandleHttpRequest。似乎GetHttp,InvokeHttp要求web服务在发送POST请求的最后运行,这不适合我们的案例用例。我尝试使用ListenHttp,但我无法更改它指向localhost的默认主机名选项。有没有办法改变它?Http作为Nifi的来源 - 不按预期方式工作

而且我也尝试使用HandleHttpRequest以及好像接收请求的客户端应该发送确认以结束发送端的连接,nifi用户指南没有提供如何使用或配置。有人能给我提供一个我提到的用例的例子。

回答

1

ListenHttp启动嵌入式Jetty服务器,它不指定主机名创建根据码头文档它说,它应该是结合所有可用的网络接口的连接器时:

“的网络接口此连接器绑定为IP地址或 主机名。如果为null或0.0.0.0,则绑定到所有接口。“

要使用HandleHttpRequest你还需要使用HandleHttpResponse ......你基本上接收来自客户端,它变成了流文件的请求,通过你想干什么就干什么的处理流程文件,然后将其发送到处理HttpResponse以回复客户端。这里有一个模板,显示如何使用它:

https://cwiki.apache.org/confluence/download/attachments/57904847/Hello_NiFi_Web_Service.xml?version=1&modificationDate=1449369797000&api=v2

+0

谢谢。我将用HandleHttpResponse来试用HandlHttpRequest –