配置来自 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’
我正在尝试从 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 服务,如下所示:
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’