Bojjaiah Ответов: 1

После публикации rest api возвращает внутреннюю ошибку сервера


Всем Привет,

Я попытался вызвать веб-службу Dynamics Nav Rest/OData в Asp.net и он отлично работает, когда я работал в своем локальном приложении.

После того как я опубликовал на сервере 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.

Kornfeld Eliyahu Peter

Ищите фактическую ошибку - загляните в журнал событий, проверьте, доступен ли этот IP-адрес с сервера, на который вы опубликовали, добавьте массаж трассировки с некоторыми try-catch... Все уродливые инструменты для отладки в производстве...

Bojjaiah

Это не исключение " клиент.С getasync(clarity_URL).Результат-это возвращение false из-за внутренней ошибки сервера.

Kornfeld Eliyahu Peter

И этот URL-адрес Ваш?

Bojjaiah

Да, в пределах моей сети. это доступ ко всей сети.

Kornfeld Eliyahu Peter

Я имею в виду, что код, который там работает, ваш? Вы можете это проверить?
Тот факт, что с одного сайта (разработка) вы можете, а с другого сайта (публикация) вы не можете, выглядит для меня как проблема, связанная с сетью...

Richard MacCutchan

Скорее всего, URL-адрес недействителен при публикации на сервере, так как 10.10.10.52-это IP-адрес вашего локального компьютера, а не веб-сервера.

Bojjaiah

Он опубликован на другом сервере, но все же я могу добавить веб-ссылку, и она будет работать.

Richard MacCutchan

Так в чем же твоя проблема?

1 Ответов

Рейтинг:
11

Bojjaiah

Решил сам, удалив нижеприведенное свойство из класса HttpClientHandler

UseDefaultCredentials = true