我正在尝试将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);
}
}
答案 0 :(得分:0)
从客户端代码诊断服务器中出现的问题可能非常困难。如果您有权访问服务器,则可以查看Web服务器的错误日志。
例如,对于Ubuntu上的Nginx,您需要导航到/var/log/nginx
目录,然后使用nano
或tail -f
查看文件error.log
的完整内容或类似命名。这将列出服务器抛出500的确切原因。可能不是您的请求格式错误,但端点配置错误的服务器端。