|
Использование http сервисов | ☑ | ||
---|---|---|---|---|
0
KB 1C
06.03.17
✎
13:32
|
Приветствую всех, добрые люди, помогите разобраться с http сервисом и xml, задача состоит в том, что бы передавать данные по документам из одной базы в другие. Я для этого формирую xml и пытаюсь передать методом get, но при передаче xml формирует всего 1 строку. Если я тот же код использую в обработке xml формируется полностью. В чем беда подскажите???
|
|||
1
arsik
гуру
06.03.17
✎
13:39
|
(0) Для начала, у GET есть ограничение на длину. В твоем случае POST нужно использовать
|
|||
2
Юрий Лазаренко
06.03.17
✎
13:40
|
(0) Беда в двух моментах:
1. XML 2 GET-запрос Использовать надо не XML, а JSON. Он легче и быстрее обрабатывается. При использовании GET-запросов данные передаются в параметрах, а параметры GET-запроса - это всегда строка. Используйте POST-запрос - в нем данные передаются в теле запроса. Тем более, если вы передаете большие объемы данных - длина GET-запроса обычно ограничена 4 килобайтами. |
|||
3
Юрий Лазаренко
06.03.17
✎
13:46
|
+(2) Я бы посоветовал еще перед отправкой данных пропускать их через КодироватьСтроку(), а в базе получателе через РаскодироватьСтроку() - заранее решите кучу вопрос со спесцимволами и кириллицей.
|
|||
4
KB 1C
06.03.17
✎
13:54
|
(1) заказчик сказал мне хватит get
|
|||
5
KB 1C
06.03.17
✎
13:55
|
(2) У меня передаваться будет инфа по доку - дата,номер,сумма,клиент больше ничего
|
|||
6
KB 1C
06.03.17
✎
13:56
|
Я не могу понять почему формируется одним и тем же кодом разное содержание в XML, вот сейчас сформировал отдельно файл и потом передал его, всё получилось как надо
|
|||
7
eklmn
гуру
06.03.17
✎
13:59
|
(4) ну так и скажи ему если он такой умный, пусть сам делает
|
|||
8
KB 1C
06.03.17
✎
14:01
|
(7) ну заказчиков не выбирают))
|
|||
9
vde69
06.03.17
✎
14:02
|
для сабжа REST - лучше чем POST ????
|
|||
10
KB 1C
06.03.17
✎
14:04
|
формирую файл обработкой, сохраняю его, затем вызываю из браузера - получаю
|
|||
11
KB 1C
06.03.17
✎
14:05
|
<Реализации> <СтрокаРеализации Сумма="1 440 000" Контрагент="Тиара" Номер="000000276"/> <СтрокаРеализации Сумма="1 206 345,6" Контрагент="Иванов" Номер="000000277"/> <СтрокаРеализации Сумма="2 107 500" Контрагент="Тиара" Номер="000000278"/>
|
|||
12
Юрий Лазаренко
06.03.17
✎
14:06
|
(5) Ну если там только 3 параметра, то зачем там xml? Достаточно просто эти три параметра передавать в тексте get-запроса
|
|||
13
KB 1C
06.03.17
✎
14:06
|
если делаю то же, но в модуле http сервиса - получаю просто <Реализации/>
|
|||
14
Юрий Лазаренко
06.03.17
✎
14:07
|
(11) А, в одном запросе несколько реализаций. Тогда параметрами не обойдешься.
Ну так зашей это в json, закодируй и передай полученный текст в виде одного параметра get-запроса. В базе-получателе раскодируй и разбери json. |
|||
15
KB 1C
06.03.17
✎
14:07
|
(12) документов может быть больше чем 1, и тогда не обойдешься параметрами
|
|||
16
Юрий Лазаренко
06.03.17
✎
14:08
|
(13) Еще раз: "перед отправкой данных пропускать их через КодироватьСтроку(), а в базе получателе через РаскодироватьСтроку() - заранее решите кучу вопрос со спесцимволами и кириллицей"
|
|||
17
KB 1C
06.03.17
✎
14:25
|
(16) Спасибо, буду кодировку использовать
|
|||
18
Юрий Лазаренко
06.03.17
✎
14:30
|
(17) Взлетело?
|
|||
19
KB 1C
06.03.17
✎
15:52
|
(18) да, спасибо, заработало
|
|||
20
Юрий Лазаренко
06.03.17
✎
15:59
|
(19) Отлично. Обращайтесь, если что.
|
|||
21
Звездочёт
06.03.17
✎
16:35
|
Кстати, тут тоже используется метод РаскодироватьСтроку():
Интернет-магазин на 1С — webstore-on-1c.ru :) В других проектах и КодироватьСтроку() встречалось. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |