500 Внутренняя ошибка сервера при доступе к веб-сервису из С#C#

Место общения программистов C#
Ответить
Anonymous
 500 Внутренняя ошибка сервера при доступе к веб-сервису из С#

Сообщение Anonymous »

Я уже давно озадачен этой проблемой. Я пытаюсь создать запрос SOAP на основе информации из файла WSDL для отправки веб-службе и получения ответа. Судя по тому, что я читал в Интернете, это должен быть довольно простой процесс, и все учебные пособия и руководства практически одинаковы.

Код:

Код: Выделить всё

string message = @"



BB


";

HttpWebRequest webRequest = (HttpWebRequest) WebRequest.Create(@"http://www.webservicex.net/stockquote.asmx");
webRequest.Headers.Add(@"SOAPAction:http://www.webservicex.net/GetQuote");
webRequest.ContentType = "text/xml;charset=\"utf-8\"";
webRequest.Method = "POST";

XmlDocument soapEnvelopeXml = new XmlDocument();
soapEnvelopeXml.LoadXml(message);

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

using (WebResponse response = webRequest.GetResponse())
{
using (StreamReader rd = new StreamReader(response.GetResponseStream()))
{
string soapResult = rd.ReadToEnd();
Console.WriteLine(soapResult);
}
}
Мне не совсем понятно, как все это работает. Насколько я понимаю, HTTP-запрос отправляется веб-службе, которую мы указываем в методе WebRequest.Create(), вместе с некоторой другой информацией, такой как SOAPAction, которая, как я предполагаю, является фактическим методом, который мы хотим вызвать? В теле сообщения связано пространство имен xml, и элементы имеют доступ через это пространство имен (GetQuote, символ). Так что для меня все звучит так, как будто должно течь. Должно быть, я что-то упускаю или делаю неправильно, потому что при попытке прочитать ответ я получаю внутреннюю ошибку сервера.

Я пытаюсь получить доступ к очень простому веб-сервису с сайта www.webservicex.com. Ссылки приведены ниже.

Ссылка на службу: http://www.webservicex.net/stockquote.asmx

WSDL: http://www.webservicex.net/stockquote.asmx?WSDL

Подробнее здесь: https://stackoverflow.com/questions/464 ... om-c-sharp
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»