|
Проблема с POST запросом по ОДАТЕ | ☑ | ||
---|---|---|---|---|
0
НачинающийВ1С
29.05.19
✎
11:20
|
Доброе утро.
В общем, запросом ОДАТА мне надо создать запись в регистре сведений ИсторияВыполненияЗадач (Измерение: БизнесПроцесс, Ресурс: Описание) Мучаюсь второй день. Нагуглил примерчик: ODATA запись в независимый непериодический регистр сведений с помощью REST, но не работает. В качестве ответа приходит: <m:error xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"> <m:code>-1</m:code> <m:message>Ошибка разбора XML: - [24,10] Фатальная ошибка: Extra content at the end of the document </m:message> </m:error> Текст запроса отправляю вот такой: <?xml version="1.0" encoding="UTF-8"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:at="http://purl.org/atompub/tombstones/1.0" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xml:base="http://srv005/Doc_Demo_Study/odata/standard.odata/"> <entry> <id>http://srv01/DemoBase/odata/standard.odata/InformationRegister_ИсторияВыполненияЗадач(БизнесПроцесс='48d57c7f-81e6-11e9-8daa-001e673baedb', БизнесПроцесс_Type='StandardODATA.BusinessProcess_Согласование')</id> <category term="StandardODATA.InformationRegister_ИсторияВыполненияЗадач" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme"/> <title type="text"/> <updated>2019-05-29T10-51-21</updated> <author/> <summary/> <link rel="edit" href="InformationRegister_ИсторияВыполненияЗадач(БизнесПроцесс='48d57c7f-81e6-11e9-8daa-001e673baedb', БизнесПроцесс_Type='StandardODATA.BusinessProcess_Согласование')" title="edit-link"/> <content type="application/xml"><m:properties xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"> <d:БизнесПроцесс>48d57c7f-81e6-11e9-8daa-001e673baedb</d:БизнесПроцесс> <d:БизнесПроцесс_Type>StandardODATA.BusinessProcess_Согласование</d:БизнесПроцесс_Type> <d:Описание>29.05.2019 10:51, Иванов И. И.. Согласовано: комментарий тест</d:Описание> </m:properties> </content> </entry> Может быть кто-то подскажет, что я делаю не так? |
|||
1
PR
29.05.19
✎
11:23
|
||||
2
НачинающийВ1С
29.05.19
✎
15:53
|
Возможно у кого-то есть мысли?
(1) По данной ссылке ничего для решения вопроса я не смог найти. Там не рассматривается пост запрос в регистр сведений. |
|||
3
palsergeich
29.05.19
✎
16:07
|
Проверь xml текст на валидность и отсутствие недопустимых символов.
Это первое что приходит в голову по сообщению ошибки |
|||
4
НачинающийВ1С
29.05.19
✎
18:00
|
В общем, решение нашел. Удалил из текста запроса большой заголовок отдаты, плюс в параметры передал "Content-Type", "application/xml". Оставлю для потомков код:
СоединениеР = Новый HTTPСоединение (Конст.Сервер,Конст.Порт,Конст.Логин,Конст.Пароль,,Ложь); ЗаголовокHTTPР = Новый Соответствие(); ЗаголовокHTTPР.Вставить("Content-Type", "application/xml"); ТекстЗапроса = (вставлю только без переносов строки) "<entry> <id>http://srv01/DemoBase/odata/standard.odata/InformationRegister_ИсторияВыполненияЗадач(БизнесПроцесс='e7fa7fb9-8221-11e9-8daa-001e673baedb', БизнесПроцесс_Type='StandardODATA.BusinessProcess_Согласование')</id> <category term="StandardODATA.InformationRegister_ИсторияВыполненияЗадач" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme"/> <title type="text"/> <updated>2019-05-29T05-56-49</updated> <author/> <summary/> <link rel="edit" href="InformationRegister_ИсторияВыполненияЗадач(БизнесПроцесс='e7fa7fb9-8221-11e9-8daa-001e673baedb', БизнесПроцесс_Type='StandardODATA.BusinessProcess_Согласование')" title="edit-link"/> <content type="application/xml"><m:properties xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"> <d:БизнесПроцесс>e7fa7fb9-8221-11e9-8daa-001e673baedb</d:БизнесПроцесс> <d:БизнесПроцесс_Type>StandardODATA.BusinessProcess_Согласование</d:БизнесПроцесс_Type> <d:Описание>Согласовано: Важные комментарии</d:Описание> </m:properties> </content> </entry>; ЗапросР = Новый HTTPЗапрос(Конст.ИмяБазы+"/odata/standard.odata/InformationRegister_ИсторияВыполненияЗадач", ЗаголовокHTTPР); ЗапросР.УстановитьТелоИзСтроки(ТекстЗапросаР); ОтветР = СоединениеР.ВызватьHTTPМетод("POST", ЗапросР); ОтветВВидеСтрокиР = ОтветР.ПолучитьТелоКакСтроку("UTF-8"); |
|||
5
НачинающийВ1С
29.05.19
✎
18:00
|
Всем спасибо
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |