HttpWebRequest 500 внутренняя ошибка, но SOAPUI работает - PullRequest
0 голосов
/ 28 ноября 2018

Я получил ошибку «Удаленный сервер возвратил ошибку: (500) Внутренняя ошибка сервера».с кодом состояния «ProtocolError»

HttpWebRequest webRequest = null;

XmlDocument soapEnvelopeXml = new XmlDocument();
string requestEnvelopeString = SerializerHelper.ToRequestEnvelopeString(request);

soapEnvelopeXml.LoadXml(requestEnvelopeString);

webRequest = (HttpWebRequest)WebRequest.Create(<<endpointUrl>>);
webRequest.ContentType = "text/xml;charset=\"utf-8\"";
webRequest.Accept = "text/xml";
webRequest.Method = "POST";
webRequest.KeepAlive = true;
webRequest.ProtocolVersion = HttpVersion.Version11;

using (Stream stream = webRequest.GetRequestStream())
{
   soapEnvelopeXml.Save(stream);
}

try
{
   using (WebResponse webResponse = webRequest.GetResponse())
   {
      using (StreamReader reader = new StreamReader(webResponse.GetResponseStream()))
      {
         string responseEnvelopeString = reader.ReadToEnd();
      }
   }
}
catch (WebException ex)
{
   string exMessage = ex.Message;
}

Когда я отправляю requestEnvelopeString напрямую через SOAPUI, он работает, может кто-нибудь подсказать, как это устранить?

1 Ответ

0 голосов
/ 29 ноября 2018

Обнаружил, что проблема в том, что заголовок SOAP-ACTION отсутствует, SOAPUI автоматически добавит запрос.

Спасибо mintssoul

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