пост запросы http В общем стоит задача передать 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.DataServiceException</type><stacktrace> at System.Data.Services.HttpProcessUtility.ReadContentType(String contentType, String& mime, Encoding& encoding)
 at System.Data.Services.Serializers.Deserializer.CreateDeserializer(RequestDescription description, IDataService dataService, Boolean update, UpdateTracker tracker)
 at System.Data.Services.DataService`1.HandlePostOperation(RequestDescription description, IDataService dataService)
 at System.Data.Services.DataService`1.ProcessIncomingRequest(RequestDescription description, IDataService dataService)
 at System.Data.Services.DataService`1.HandleNonBatchRequest(RequestDescription description)
 at System.Data.Services.DataService`1.HandleRequest()</stacktrace></innererror></error> |
Спросить-то что хотел? Ну не знает сервер как раскодировать твой запрос в связи с отсутствием у него заголовка Content-Type... |
Вот нахрена это СОМ-дерьмо вообще? |
Соединение = Новый HTTPСоединение("http://10.37.0.11:8080"); Заголовки = Новый Соответствие(); Заголовки.Вставить("Content-Type", "application/xml"); Запрос = Новый HTTPЗапрос("/2/ServiceModel/EntityDataService.svc/PTIncidentsCollection", Заголовки); Запрос.УстановитьТелоИзСтроки(...); Ответ = Соединение.ОтправитьДляОбработки(Запрос); ТекстОтвета = Ответ.ПолучитьТелоКакСтроку(); А то, что у тебя в коде используется в качестве тела - это вообще нечто непонятное. Ищи документацию к своему сайту, наверняка там тело запроса совершенно иное должно быть. |
[em]стоит задача передать xmlку на сайт[/em] лично я понимаю как с правами админа сайта поместить копию локального файла в папку на web-сервере |
спасибо. Если честно то это был дурдом когда слепой тычется и пытается найти непонятно что. Я особо не понимаю в запросах http. в свою очередь товарищ который занимается сайтом не знает как. Ответ один на входе должна быть xml.. вот и получился дурдом. когда тупо тыкал пальцами.... в общем лады проехали. тема не актуальна. отдали на откуп разрабам |
Текущее время: 15:19. Часовой пояс GMT +3. |