Rest IErrorHandler中响应的内容类型错误
我想以JSON格式向我的服务发送响应。我在自定义行为中捕获自定义错误:Rest IErrorHandler中响应的内容类型错误,rest,error-handling,biztalk,Rest,Error Handling,Biztalk,我想以JSON格式向我的服务发送响应。我在自定义行为中捕获自定义错误: void IErrorHandler.ProvideFault(Exception error, MessageVersion version, ref Message fault) { XDocument errorMsg = XDocument.Parse("<errorMessage>" + error.Message + "<
void IErrorHandler.ProvideFault(Exception error, MessageVersion version, ref Message fault)
{
XDocument errorMsg = XDocument.Parse("<errorMessage>" + error.Message + "</errorMessage>");
var jsonWriter = new JsonErrorBodyWriter(errorMsg);
fault = Message.CreateMessage(version, null, jsonWriter);
fault.Properties.Add(WebBodyFormatMessageProperty.Name, new WebBodyFormatMessageProperty(WebContentFormat.Json));
HttpResponseMessageProperty prop = new HttpResponseMessageProperty();
prop.StatusCode = HttpStatusCode.Unauthorized;
prop.Headers.Add("Content-Type", "application/json; charset=utf-8");
prop.Headers[HttpRequestHeader.ContentType] = "application/json; charset=utf-8";
--Tried different ways to achieve this
fault.Properties.Add(HttpResponseMessageProperty.Name, prop);
}
答复:
HTTP/1.1 401 Unauthorized
Content-Type: application/xml; charset=utf-8
Server: Microsoft-IIS/10.0
X-Powered-By: ASP.NET
Date: Wed, 30 Sep 2020 08:41:15 GMT
Content-Length: 37
{"description":"Autorization Failed"}
我的代码中有什么错误?是将错误发送给服务的调用方,还是使用服务并将错误发回BizTalk?当代码执行时,您是否调试过代码?我会将其发送回调用方。我应该在编排中处理它吗?不,我没有调试,因为我将调试程序附加到iis w3wp进程或主机进程时,它不会停止/中断。
HTTP/1.1 401 Unauthorized
Content-Type: application/xml; charset=utf-8
Server: Microsoft-IIS/10.0
X-Powered-By: ASP.NET
Date: Wed, 30 Sep 2020 08:41:15 GMT
Content-Length: 37
{"description":"Autorization Failed"}