Тип параметра веб-сервиса 1с для передачи xml-строки #736576


#0 by vi0
Есть задача передать из сторонней системы в веб-сервис 1с достаточно большую xml-строку. Какого типа должен быть параметр для принятия xml-строки? Строковым? А насколько большую строку можно передать так? Или может быть лучше base64Binary ? Чем руководствоваться здесь при принятии решения?
#1 by DmitrO
физически 1С 2Гб точно примет, это больше зависит от памяти на борту Так что руководствоваться лучше содержимым строки и дальнейшей ее обработкой - смотря что дальше будем с ней делать.
#2 by vi0
будем сохранять в хранилище, а потом парсить
#3 by Adept
Строка прокатит Но если хочеться сжатия - то лучше разборать внутренне представления серилизованного сжатого хранилища значений со строкой
#4 by sFAQer
Вроде строка упирается в 100 с чем то МБ, после 1Ска вешается...
#5 by Либерал
rкурсы-по-1с советуют юзать ХранилищеЗначения и передавать его как {}. Имя типа XDTO: ValueStorage
#6 by Либерал
это удобно - сжатие можно юзать..
#7 by Гёдза
строка - бинарные данные с сжатием - бэйз 64
#8 by vi0
передается не из 1с8 можно ли передавать тип ХранилищеЗначения из сторонней системы?
#9 by Гёдза
если из стороннего то можно через зип
#10 by vi0
такой вариант рассматривал зиповать и корвертить в base64Binary но интересно также без сжатия пока я понял из ответов, что относительно большая строка не проблема
#11 by DmitrO
Если можно парсить последовательно, то соответственно можно используя временный файл и последовательный доступ к тексту сэкономить память на сервере.
#12 by Adept
Да, только нужно написать либу, которая будет формировать тебе нужного формата хмл
#13 by DmitrO
+ в таком случае во временное хранилище сохранять смысла нет.
#14 by Гёдза
Можно вообще файл на фтп кидать, а сервисом только ссылку на него )))
#15 by Adept
Строку тоже можно парсить последовательно, и в зависимосте от размера сохранять ее в файл или оставить в памяти
#16 by DmitrO
Строка - она вся всегда в памяти, собственно как и любой объект XDTO с любыми данными, который получит метод веб сервиса как параметр, так что ХранилищеЗначения или base64Binary или еще что нить там.. без разницы.
#17 by vi0
да парсить будем через перебирая и загражуя элементы в XDTO, тут все ок по сабжу пока склоняюсь к base64Binary, как к достаточно универсальному - можно строку передать, можно зип
#18 by Adept
А зазипованый архив не в память прийдет? А если в хранилище есть двоичные данные их так же можно сохранить на диск, а можно еще и размер посмотереть и сохранять только в том случае если он выше определенного размера
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С