配置来自 Nifi 的 HTTP POST 请求

Configuring HTTP POST request from 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);
}

而该接口的实现如下:

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;
  } 
 }

我从 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 服务。

更多参数如下:

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

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