|
Отправка POST запроса к 1С | ☑ | ||
---|---|---|---|---|
0
PR2
21.12.14
✎
13:48
|
Почитал http://v8.1c.ru/o7/201312rest/index.htm, заинтересовала возможность через POST запрос что-то создавать в 1С, например элемент справочника Ref.
Сделал базу, опубликовал, получение данных просто через забивание URL в браузере типа http://xxx.xxx.xxx.xxx/my_base/odata/standard.odata/Catalog_Ref идет нормально. А вот как послать POST запрос, как написано в статье, не понял. Это где "Создание нового элемента данных выполняется POST-запросом. В качестве значения ссылки передается нулевой GUID. При создании и модификации объектов значения свойств передаются в теле запроса в формате XML (здесь текст запроса приведён полностью):...". Уж по всякому попробовал. Пробую что-то типа такого:
Никак не соображу, что писать в текст запроса? Кто силен в POST, подскажите. |
|||
1
SanGvin
21.12.14
✎
14:00
|
А вы ваши заголовки засуньте куда следует (HTTPЗапрос.Заголовки)
|
|||
2
SanGvin
21.12.14
✎
14:03
|
POST /my_base/odata/standard.odata/Catalog_Ref HTTP/1.1
|Content-Type: application/atom+xml |DataServiceVersion: 3.0;NetFx |MaxDataServiceVersion: 3.0;NetFx |Accept: application/atom+xml,application/xml |Accept-Charset: UTF-8 |User-Agent: 1C-Enterprise |Host: " + МойIP + " |Content-Length: 1610 -- это вообще в тело запроса не надо пихать. УРЛ в АдресРесурса положите |
|||
3
PR2
21.12.14
✎
14:14
|
Написал
Теперь виснет. Нужно ли писать
и
? Размер чего вставлять в "Content-Length"? |
|||
4
PR2
21.12.14
✎
14:24
|
+(3) При таком
ЗаголовокHTTP.Вставить("Content-Length", СтрДлина(ТекстЗапроса)); не виснет, но вроде как ничего и не делает, то есть элемент справочника не появляется. Или я что-то не понимаю и так элемент справочника не создашь? |
|||
5
ASV
21.12.14
✎
14:42
|
||||
6
PR2
21.12.14
✎
14:44
|
(5) Да. Могу по-другому назвать для примера, вообще сиренево. Сейчас попробую назвать myref.
|
|||
7
PR2
21.12.14
✎
14:46
|
+(6) Поменял. Ничего не поменялось, все по прежнему.
|
|||
8
PR2
21.12.14
✎
14:48
|
(5) Кстати, выдается авторизационное окно, ХЗ что в него забивать
|
|||
9
ASV
21.12.14
✎
14:51
|
(8)логин пароль 1с
|
|||
10
ASV
21.12.14
✎
14:51
|
||||
11
PR2
21.12.14
✎
14:52
|
(9) Не подходит
|
|||
12
PR2
21.12.14
✎
14:53
|
(10) Да фиг с ней с авторизацией, я в default.vrd автоматическую авторизацию прописал, то есть сразу указал Usr и Pwd.
Сейчас важнее разобраться с самим POST запросом. Как послать-то? |
|||
13
PR2
21.12.14
✎
14:55
|
+(11) А, хотя пардон, я пытался в окне, появляющемся после перехода по http://trade.demo.1c.ru/trade/odata/standard.odata/ указать логин пароль. Возможно, что при программном запросе прокатит.
Но, блин, как запрос-то послать? |
|||
14
ASV
21.12.14
✎
15:09
|
ОтветВВидеСтроки что говорит
|
|||
15
ASV
21.12.14
✎
15:25
|
на питоне.
не нравилось что xmlns:m="http://.." было без кавычек
|
|||
16
ASV
21.12.14
✎
15:26
|
Content-Length вообще убрать. 1С либо сама посчитает, либо сервер с 0 пропустит
|
|||
17
ASV
21.12.14
✎
15:30
|
||||
18
PR2
21.12.14
✎
15:31
|
Ахренеть! Свершилось!
После указания всяких кавычек во всяких "http://www.w3.org/2005/Atom" наконец-то создался элемент! |
|||
19
PR2
21.12.14
✎
15:32
|
+(18) Да, по ходу в (15) чувак то же самое словил.
|
|||
20
PR2
21.12.14
✎
15:35
|
+(19) Просто до последнего не верил, что у 1С в их статейке неправильно написано.
|
|||
21
PR2
21.12.14
✎
15:39
|
Кстати, прекраснейше пишутся элементы без проверки заполненности того же наименования, например.
|
|||
22
PR2
21.12.14
✎
15:45
|
(14) Раньше в ответе ругалось на отсутствие кавычек, сейчас в ответе возвращается xml нового элемента.
Примерно так (Р и R — это реквизиты справочника):
|
|||
23
PR2
21.12.14
✎
17:43
|
Чертовщина какая-то.
Все это тестил в левой базе, сейчас сделал специальную базу для этих целей. Опубликовал, все настроил, щелкаю в браузере http://IP/post/odata/standard.odata, не вижу метаданных. Что за хрень? |
|||
24
PR2
21.12.14
✎
17:56
|
+(23) Блин, вот это фокус, поставил режим совместимости с 8.3.4, все показалось. Что за хрень?
|
|||
25
PR2
21.12.14
✎
18:17
|
А вот уникальность кода, кстати, проверяется, при такой записи нового.
|
|||
26
PR2
21.12.14
✎
18:26
|
Хм, дальнейшее изучение показало, что заголовки тоже можно не заполнять, все работает и без них :))
|
|||
27
PR2
21.12.14
✎
18:46
|
Конечный код кнопки на форме, для потомков, так сказать :))
В конфигурации, в которой пытаемся создать нового контрагента, ессно должны быть справочник Контрагенты с реквизитами Комментарий и Город и справочник Города. Заполнение города специально сделал через указание ГУИДа, для наглядности.
|
|||
28
PR2
21.12.14
✎
18:50
|
+(27) Кто хочет погонять, пароль на пользователя "password" :))
|
|||
29
PR2
22.12.14
✎
11:23
|
Что-то так и не понял на простом понятийном уровне разницу между SOAP и REST.
Только в том, что SOAP тяжелее, а REST оперирует меньшим объемом данных? На мой взгляд не принципиально. А принципиальные различия какие? |
|||
30
PR2
22.12.14
✎
11:25
|
(29) А, ну и уникальные URL в REST.
На мой взгляд, REST — подчасть SOAP. Не? |
|||
31
PR2
12.01.15
✎
13:10
|
(25) Оказывается, что дело в том, что нужно было использовать УстановитьСоставСтандартногоИнтерфейсаOData.
А в режиме совместимости с 8.3.4 доступно всё. |
|||
32
Serginio1
12.01.15
✎
13:23
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |