|   |   | 
| 
 | Тип параметра веб-сервиса 1с для передачи xml-строки | ☑ | ||
|---|---|---|---|---|
| 0
    
        vi0 12.03.15✎ 13:18 | 
        Добрый день
 Есть задача передать из сторонней системы в веб-сервис 1с достаточно большую xml-строку. Какого типа должен быть параметр для принятия xml-строки? Строковым? А насколько большую строку можно передать так? Или может быть лучше base64Binary ? Чем руководствоваться здесь при принятии решения? | |||
| 1
    
        DmitrO 12.03.15✎ 13:35 | 
        физически 1С 2Гб точно примет, это больше зависит от памяти на борту
 Так что руководствоваться лучше содержимым строки и дальнейшей ее обработкой - смотря что дальше будем с ней делать. | |||
| 2
    
        vi0 12.03.15✎ 13:37 | 
        (1) будем сохранять в хранилище, а потом парсить     | |||
| 3
    
        Adept 12.03.15✎ 13:38 | 
        (0) Строка прокатит
 Но если хочеться сжатия - то лучше разборать внутренне представления серилизованного сжатого хранилища значений со строкой | |||
| 4
    
        sFAQer 12.03.15✎ 13:40 | 
        (0) Вроде строка упирается в 100 с чем то МБ, после 1Ска вешается...     | |||
| 5
    
        Либерал 12.03.15✎ 13:40 | 
        (0) rкурсы-по-1с советуют юзать ХранилищеЗначения и передавать его как {http://v8.1c.ru/8.1/data/core}. Имя типа XDTO: ValueStorage     | |||
| 6
    
        Либерал 12.03.15✎ 13:41 | 
        это удобно - сжатие можно юзать..     | |||
| 7
    
        Гёдза 12.03.15✎ 13:41 | 
        строка - бинарные данные с сжатием - бэйз 64     | |||
| 8
    
        vi0 12.03.15✎ 13:42 | 
        передается не из 1с8
 можно ли передавать тип ХранилищеЗначения из сторонней системы? | |||
| 9
    
        Гёдза 12.03.15✎ 13:42 | 
        если из стороннего то можно через зип     | |||
| 10
    
        vi0 12.03.15✎ 13:44 | 
        (9) такой вариант рассматривал
 зиповать и корвертить в base64Binary но интересно также без сжатия пока я понял из ответов, что относительно большая строка не проблема | |||
| 11
    
        DmitrO 12.03.15✎ 13:45 | 
        (2)Если можно парсить последовательно, то соответственно можно используя временный файл и последовательный доступ к тексту сэкономить память на сервере.     | |||
| 12
    
        Adept 12.03.15✎ 13:45 | 
        (8) Да, только нужно написать либу, которая будет формировать тебе нужного формата хмл     | |||
| 13
    
        DmitrO 12.03.15✎ 13:47 | 
        (11)+ в таком случае во временное хранилище сохранять смысла нет.     | |||
| 14
    
        Гёдза 12.03.15✎ 13:48 | 
        (11) Можно вообще файл на фтп кидать, а сервисом только ссылку на него )))     | |||
| 15
    
        Adept 12.03.15✎ 13:50 | 
        (11) Строку тоже можно парсить последовательно, и в зависимосте от размера сохранять ее в файл или оставить в памяти     | |||
| 16
    
        DmitrO 12.03.15✎ 13:54 | 
        (15)Строка - она вся всегда в памяти, собственно как и любой объект XDTO с любыми данными, который получит метод веб сервиса как параметр, так что ХранилищеЗначения или base64Binary или еще что нить там.. без разницы.     | |||
| 17
    
        vi0 12.03.15✎ 13:57 | 
        да парсить будем через перебирая и загражуя элементы в XDTO, тут все ок
 по сабжу пока склоняюсь к base64Binary, как к достаточно универсальному - можно строку передать, можно зип | |||
| 18
    
        Adept 12.03.15✎ 19:10 | 
        (16) А зазипованый архив не в память прийдет?
 А если в хранилище есть двоичные данные их так же можно сохранить на диск, а можно еще и размер посмотереть и сохранять только в том случае если он выше определенного размера | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |