【发布时间】:2016-08-24 06:38:35
【问题描述】:
我正在尝试从 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 服务。
【问题讨论】:
-
假设不涉及握手(只是发布到 URL),InvokeHTTP 是您想要使用的处理器。当您尝试运行 InvokeHTTP 处理器时,它是否会因任何公告而失败?还是 WCF 服务记录任何错误?
标签: wcf http-post apache-nifi