Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Отправка XML методом POST C#

35K
19 февраля 2008 года
Midnight_rabbit
6 / / 19.02.2008
Может уже был вопрос, но все же.
Суть такова, нужно отправить хэмээль методом пост и получить данные.
Гуглил, нахожу все то же, что и у меня.

Делаю так

Код:
XmlSerializer serializer = new XmlSerializer(typeof(SomeRequestClass)); //SomeRequestClass - Класс основанный на схеме запроса
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(requestUri);
request.Method = "POST";
request.ContentType = "text/xml";
XmlTextWriter writer = new XmlTextWriter(request.GetRequestStream(), Encoding.UTF8);
serializer.Serialize(writer, req);
writer.Close();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
XmlReader srData = XmlReader.Create(response.GetResponseStream());
SomeResponseObject resp = (SomeResponseObject)serializer.Deserialize(srData); //SomeResponseClass - Класс основанный на схеме ответа
srData.Close();





Что я делаю не так?:confused:
713
19 февраля 2008 года
Ap0k
360 / / 13.03.2006
Какая ошибка?
У вас XmlSerializer создан один раз, с типом SomeRequestClass, им же вы пытаетесь десериализовать данные и привести к SomeResponseObject :)
35K
19 февраля 2008 года
Midnight_rabbit
6 / / 19.02.2008
Не, дело тут не в сериалайзере, хотя вы правы конечно:)) Но проблема основная заключается в том, что ответ не приходит, то есть приходит пустой стрим, на стороне сервера проблем точно нет. Если я ввожу неправильные данные для отправки, ошибку он мне возвращает, опять же иногда, то возвращает, то нет. Видимо это связано с тем, что сообщение об ошибке оч мало по объему, а правильный ответ довольно большой. Пробовал слип ставить, но это не помогает...
Вот так, спасибо за отклик
713
19 февраля 2008 года
Ap0k
360 / / 13.03.2006
Может речь идет о HTTP 100 (Continue) Status code?
Посмотрите что в зоголовках ответа.
35K
19 февраля 2008 года
Midnight_rabbit
6 / / 19.02.2008
Вот заголовки респонса:

{Transfer-Encoding: chunked
Connection: keep-alive
Keep-Alive: timeout=20
Content-Language: ru
Content-Type: text/xml; charset=UTF-8
Date: Tue, 19 Feb 2008 09:55:36 GMT
Server: SomeServer
X-Powered-By: PHP/5.2.5
}

Цитата:
HTTP 100 (Continue) Status code



а где эту тему указывать надо?

713
19 февраля 2008 года
Ap0k
360 / / 13.03.2006
Первой строкой в ответе:
 
Код:
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: [COLOR=#00008b]length[/COLOR]

Либо же заголовком:
 
Код:
Status: 200 OK
35K
19 февраля 2008 года
Midnight_rabbit
6 / / 19.02.2008
В ответе статус итак ОК, все нормально со статусом. Однако, проблема остается:((
713
19 февраля 2008 года
Ap0k
360 / / 13.03.2006
Боюсь мой хрустальный шар более бессилен, последнее что могу предложить - Бубен :D
35K
19 февраля 2008 года
Midnight_rabbit
6 / / 19.02.2008
Спасибо большое все равно, всяческих удач!

*Ушел искать бубен
35K
20 февраля 2008 года
Midnight_rabbit
6 / / 19.02.2008
Все заработало, оказца надо было дополнительные параметры указывать в отправляемых постом данных.

всем спасибо!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог