|   |   | 
| 
 | Использование 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 :) В других проектах и КодироватьСтроку() встречалось. | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |