配置来自 Nifi 的 HTTP POST 请求

Pan*_*esh 7 wcf http-post apache-nifi

我正在尝试从 REST 客户端访问 WCF 服务。我正在从 REST 客户端向 WCF 服务发送 POST 请求。供您参考,详情如下。

服务合同的定义如下:

[ServiceContract]
public interface IBZTsoftsensor_WcfService {

[OperationContract]
[WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json,  ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "/data")]
   string ExecuteModelJson(string inputModel);
}
Run Code Online (Sandbox Code Playgroud)

而这个接口的实现如下:

public string ExecuteModelJson(string inputModel){
  try
  {
    BZTsoftsensor_ModelInput input =   JsonConvert.DeserializeObject<BZTsoftsensor_ModelInput>(inputModel);
  var results = this.ExecuteModel(input);
  return JsonConvert.SerializeObject(results);
  }
  catch (Exception ex)
  {
    return ex.Message;
  } 
 }
Run Code Online (Sandbox Code Playgroud)

从 REST 客户端,我请求此 WCF 服务如下:

在此处输入图片说明 作为扩展,我必须从 NiFi 处理器访问此 WCF 服务。您能否告诉我如何在 Nifi 中配置处理器以访问此 WCF 服务?在 Nifi 处理器中,有一个POSTHTTP处理器(文档:https : //nifi.apache.org/docs/nifi-docs/components/org.apache.nifi.processors.standard.PostHTTP/index.html )可用,但是我我想知道如何配置它?

或者可能还有其他处理器可以使用invokeHTTP??(文档:https : //nifi.apache.org/docs/nifi-docs/components/org.apache.nifi.processors.standard.InvokeHTTP/index.html

我试图配置 invokeHTTP 处理器。以下是配置参数。但是,我无法访问 WCF 服务。

在此处输入图片说明 更多参数如下: 在此处输入图片说明

Gre*_*Oks 8

InvokeHttp 处理器使用流文件的内容作为 tye 请求的主体。在设置流文件内容的 invokeHttp 之前必须有一个处理器,例如 replaceText 处理器。

另外不要忘记在 invokeHttp 处理器中将属性“send message body”设置为“true”