Имя: Пароль:
1C
 
Тип параметра веб-сервиса 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) А зазипованый архив не в память прийдет?
А если в хранилище есть двоичные данные их так же можно сохранить на диск, а можно еще и размер посмотереть и сохранять только в том случае если он выше определенного размера
Ошибка? Это не ошибка, это системная функция.