Wcf 配置来自Nifi的GET请求
我正在尝试从浏览器访问WCF服务。我正在从浏览器向WCF服务发送GET请求。以下是WCF服务的详细信息,供您参考 服务合同定义如下:Wcf 配置来自Nifi的GET请求,wcf,http,get,apache-nifi,Wcf,Http,Get,Apache Nifi,我正在尝试从浏览器访问WCF服务。我正在从浏览器向WCF服务发送GET请求。以下是WCF服务的详细信息,供您参考 服务合同定义如下: [ServiceContract] public interface IBZTsoftsensor_WcfService { [OperationContract] [WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Json, UriTemplate = "js
[ServiceContract]
public interface IBZTsoftsensor_WcfService {
[OperationContract]
[WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Json, UriTemplate = "json/?inputModel={inputModel}")]
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;
}
}
该接口的实现如下:
[ServiceContract]
public interface IBZTsoftsensor_WcfService {
[OperationContract]
[WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Json, UriTemplate = "json/?inputModel={inputModel}")]
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;
}
}
我的WCF服务正在成功响应
但是,使用上面的URL,当我配置GeTHTTP
Nifi处理器时,处理器在GET请求URL中出错
请告诉我-在使用GetHTTP处理器时,我必须对GET URL进行哪些更改?您可能需要对inputModel参数进行编码,您可以使用NiFi表达式语言的urlEncode方法: 尝试将此作为URL属性: ${literal({\'Pyro\':\'30.0\',\'O2\':\'20.0\'):urlEncode()} 或者,由于您的URL是固定的,您可以使用以下代码对其进行编码:
您可能需要对inputModel参数进行编码,您可以使用NiFi表达式语言的urlEncode方法: 尝试将此作为URL属性: ${literal({\'Pyro\':\'30.0\',\'O2\':\'20.0\'):urlEncode()} 或者,由于您的URL是固定的,您可以使用以下代码对其进行编码:
谢谢你的指点。我对Nifi有点陌生。你能告诉我-我应该如何使用表达语言吗。GetHTTP处理器的URL属性值是多少?谢谢您的指针。我对Nifi有点陌生。你能告诉我-我应该如何使用表达语言吗。GetHTTP处理器的URL属性值是多少?