|
Использование 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 | |
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 :)
В других проектах и КодироватьСтроку() встречалось. |