Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Использование http сервисов

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


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.