远程服务器返回错误:(500)内部服务器错误Web服务

时间:2018-05-13 09:39:56

标签: c# oracle web-services

我正在尝试将SOAP XML发送到oracle webservice。服务引用不能很好,所以我决定使用webrequest,但我得到一个错误“远程服务器返回错误:(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 :(得分:0)

从客户端代码诊断服务器中出现的问题可能非常困难。如果您有权访问服务器,则可以查看Web服务器的错误日志。

例如,对于Ubuntu上的Nginx,您需要导航到/var/log/nginx目录,然后使用nanotail -f查看文件error.log的完整内容或类似命名。这将列出服务器抛出500的确切原因。可能不是您的请求格式错误,但端点配置错误的服务器端。