asp.net-web-api - 检查 Web API 的响应总是返回 500 错误(服务器上没有错误)
问题描述
每次我发送请求时,响应都会说它有 500 服务器错误。但是,我控制了这个过程的双方,并且服务器没有出错。想法?!
下面是我们如何设置 HttpClient 来发送请求。顺便说一句,此客户端托管在 Microsoft 的 Dynamix CRM Online 中(以防万一):
client = new HttpClient();
client.BaseAddress = new Uri(url);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("text/html"));
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("text/javascript"));
这就是我们从 CRM Online 中调用它并获得响应的方式:
var task = client.PostAsyncSecurely("api/Invoices/CreateInvoice/", iHelper);
var result = task.GetAwaiter().GetResult();
是的,我们创建了自己的扩展,但它所做的只是将我们传入的模型转换为发送(根据接收 API,它正在工作)。
public static Task<System.Net.Http.HttpResponseMessage> PostAsyncSecurely(this System.Net.Http.HttpClient client, string requestUri, System.Net.Http.ByteArrayContent content)
{
return client.PostAsync(requestUri, content);
}
我们尝试在服务器上的 Web API 中以多种方式创建响应,但无济于事:
[HttpPost]
public HttpResponseMessage CreateInvoice([FromBody]Object invoiceHelper)
return Request.CreateResponse(HttpStatusCode.OK);
return new HttpResponseMessage(HttpStatusCode.OK);
return this.StatusCode(HttpStatusCode.OK);
解决方案
要使用 Dynamics CRM Online WebAPI,您需要在租户的 Azure AD 中将您的应用程序注册为允许应用程序 ( Microsoft Link )
连接到 Dynamics CRM Online 的另一种方法是使用 SDK(如果您使用的是 .NET 语言)https://docs.microsoft.com/en-us/dotnet/api/microsoft.xrm.sdk.messages.createrequest ?view=dynamics-general-ce-9
希望能帮助到你
推荐阅读
- java - 调用函数直到发生异常的 Guava 重试器
- xamarin.forms - Unable to discover Xamarin.Forms Embedding nuget package
- python - 'str' object has no attribute 'values' - Object Does Not Appear to be String
- recommendation-engine - Product Recommendation System using Content Based Filtering ( TF-IDF)
- javascript - How do I return an array from within a function after it has has been populated from inside a chain of promises?
- mysql - MySQL - How do I store multiple date types (quarter, month, year) in one column
- c# - 如何在 C# 中对整数二维数组进行排序
- javascript - How to add filters on columns with server side option
- java - 删除单链表的最后一个节点
- android - 带有imageview的Android滚动视图不起作用