我试图在Asp.net中调用Dynamics Nav Rest / OData Web服务,并且当我在本地应用程序中运行时,它运行正常。
我发布到IIS服务器后没有得到结果,它抛出错误内部服务器错误。
我尝试了以下代码
public string GetData()
{
NetworkCredential networkCredential = new NetworkCredential("bojjaiah.thoti", "pass@word1", "testserver");
using (var client = new HttpClient(new HttpClientHandler() { UseDefaultCredentials = true, Credentials = networkCredential, PreAuthenticate = true }))
{
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(delegate { return true; });
Uri uri = new Uri("http://10.10.10.52:7148/DynamicsNav1/OData/");
client.BaseAddress = uri;
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
string clarity_URL = "http://10.10.10.52:7148/DynamicsNav1/OData/ShopFloorTaskList";
var response = client.GetAsync(clarity_URL).Result;
string responseString = response.Content.ReadAsStringAsync().Result;
Response.Write(responseString);
return responseString;
}
}
我不知道本地应用程序和托管应用程序之间有什么区别。
请建议我们在IIS服务器上工作。
答案 0 :(得分:0)
通过删除HttpClientHandler
类中的以下属性来解决我的自我
UseDefaultCredentials = true