К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

пост запросы http

Гость
0 - 28.04.2015 - 16:56
В общем стоит задача передать xmlку на сайт написан код в виде компиляцию нарытой и надерганной инфы с инета

АдресРесурсаНаСервере = "http://10.37.0.11:8080//2/ServiceModel/EntityDataService.svc/PTIncidentsCollection";
пОбъект = Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
пОбъект.Open("POST", АдресРесурсаНаСервере, False);
пОбъект.SetCredentials("аа","аа",0);
ТелоЗапроса =
"<?xml version=""1.0"" encoding=""utf-8""?>
| <entry xmlns=""http://www.w3.org/2005/Atom"">
| <content type=""application/xml""><properties xmlns=""http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"">
| <PTName xmlns=""http://schemas.microsoft.com/ado/2007/08/dataservices"">Инцидент</PTName>
| <PTDescriptionProblem xmlns=""http://schemas.microsoft.com/ado/2007/08/dataservices"">Опсиание проблемы</PTDescriptionProblem>
| </properties>
| </content>
| </entry>";

пОбъект.SetRequestHeader("Content-Length", Строка(СтрДлина(ТелоЗапроса)));
пОбъект.Send(ТелоЗапроса);

пОбъект.Status возвращает 400

пОбъект.ResponseText()
возвращает
<?xml version="1.0" encoding="utf-8" standalone="yes"?><error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"><code>4</code><message xml:lang="">Content-Type header value missing.</message><innererror><message>Content-Type header value missing.</message><type>System.Data.Services.DataServiceExce ption</type><stacktrace> at System.Data.Services.HttpProcessUtility.ReadConten tType(String contentType, String&amp; mime, Encoding&amp; encoding)&#xD;
at System.Data.Services.Serializers.Deserializer.Crea teDeserializer(RequestDescription description, IDataService dataService, Boolean update, UpdateTracker tracker)&#xD;
at System.Data.Services.DataService`1.HandlePostOpera tion(RequestDescription description, IDataService dataService)&#xD;
at System.Data.Services.DataService`1.ProcessIncoming Request(RequestDescription description, IDataService dataService)&#xD;
at System.Data.Services.DataService`1.HandleNonBatchR equest(RequestDescription description)&#xD;
at System.Data.Services.DataService`1.HandleRequest() </stacktrace></innererror></error>



Гость
1 - 28.04.2015 - 17:34
Спросить-то что хотел?
Ну не знает сервер как раскодировать твой запрос в связи с отсутствием у него заголовка Content-Type...
Гость
2 - 28.04.2015 - 21:54
Вот нахрена это СОМ-дерьмо вообще?
Гость
3 - 28.04.2015 - 22:01
Соединение = Новый HTTPСоединение("http://10.37.0.11:8080");
Заголовки = Новый Соответствие();
Заголовки.Вставить("Content-Type", "application/xml");
Запрос = Новый HTTPЗапрос("/2/ServiceModel/EntityDataService.svc/PTIncidentsCollection", Заголовки);
Запрос.УстановитьТелоИзСтроки(...);
Ответ = Соединение.ОтправитьДляОбработки(Запрос);
ТекстОтвета = Ответ.ПолучитьТелоКакСтроку();

А то, что у тебя в коде используется в качестве тела - это вообще нечто непонятное. Ищи документацию к своему сайту, наверняка там тело запроса совершенно иное должно быть.
Гость
4 - 29.04.2015 - 03:03
стоит задача передать xmlку на сайт
лично я понимаю как с правами админа сайта поместить копию локального файла в папку на web-сервере
Гость
5 - 29.04.2015 - 10:27
спасибо. Если честно то это был дурдом когда слепой тычется и пытается найти непонятно что. Я особо не понимаю в запросах http. в свою очередь товарищ который занимается сайтом не знает как. Ответ один на входе должна быть xml.. вот и получился дурдом. когда тупо тыкал пальцами.... в общем лады проехали. тема не актуальна. отдали на откуп разрабам


К списку вопросов






Copyright ©, Все права защищены