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& mime, Encoding& encoding)
 at System.Data.Services.Serializers.Deserializer.Crea teDeserializer(RequestDescription description, IDataService dataService, Boolean update, UpdateTracker tracker)
 at System.Data.Services.DataService`1.HandlePostOpera tion(RequestDescription description, IDataService dataService)
 at System.Data.Services.DataService`1.ProcessIncoming Request(RequestDescription description, IDataService dataService)
 at System.Data.Services.DataService`1.HandleNonBatchR equest(RequestDescription description)
 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.. вот и получился дурдом. когда тупо тыкал пальцами.... в общем лады проехали. тема не актуальна. отдали на откуп разрабам | |
| Интернет-форум Краснодарского края и Краснодара |