Удаленный сервер возвратил ошибку: (500) Внутренняя веб-служба ошибок сервера - PullRequest
0 голосов
/ 13 мая 2018

Я пытаюсь отправить SOAP XML на веб-службу oracle. Ссылка на службу не работает должным образом, поэтому я решил использовать веб-запрос, но я получаю ошибку «Удаленный сервер возвратил ошибку: (500) Внутренняя ошибка сервера.»

   string envelope = System.IO.File.ReadAllText("test.xml");
    byte[] byteArray = Encoding.UTF8.GetBytes(envelope);

    byte[] toEncodeAsBytes = System.Text.ASCIIEncoding.ASCII.GetBytes("xxxxx" + ":" + "xxxxx");
    string credentials = System.Convert.ToBase64String(toEncodeAsBytes);

    HttpWebRequest request =(HttpWebRequest)WebRequest.Create("https://ehpq-test.fa.em2.oraclecloud.com/fscmService/SupplierServiceV2");

    request.Method = "POST";
    request.ContentType = "text/xml;charset=UTF-8";
    request.ContentLength = byteArray.Length;

    request.Headers.Add("Authorization", "Basic " + credentials);

    request.Headers.Add("SOAPAction", "https://ehpq-test.fa.em2.oraclecloud.com/fscmService/SupplierServiceV2");

    Stream dataStream = request.GetRequestStream();
    dataStream.Write(byteArray, 0, byteArray.Length);
    dataStream.Close();

    using (WebResponse response = request.GetResponse())
    {
        using (Stream stream = response.GetResponseStream())
        {
            var doc = XDocument.Load(stream);
        }
    }

1 Ответ

0 голосов
/ 13 мая 2018

Может быть очень сложно диагностировать проблему, возникшую на сервере, с помощью кода вашего клиента. Если у вас есть доступ к серверу, вы можете просматривать журналы ошибок для веб-сервера.

Например, при использовании Nginx в Ubuntu вам нужно перейти в каталог /var/log/nginx и затем использовать nano или tail -f для просмотра всего содержимого файла error.log или с аналогичным именем. В этом месте указана точная причина, по которой сервер выбрасывает 500. Возможно, дело не в том, что ваш запрос искажен, но конечная точка неверно сконфигурирована на стороне сервера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...