Передача больших данных через Веб-сервис. 100Мбайт. #634323


#0 by simol
Делаю обмен между двумя базами с помощью Веб-сервисов. На узле отправителя формирую пакет следующим образом Тип возвращаемого сервисом значения ValueStorage ( Есть ли ограничения на размер передаваемого хранилища? А то выгрузки в 50Мбайт проходят, а 100Мбайт завершаются ошибкой: bad allocation Предполагаю, что приходит обрезанные данные
#1 by simol
Ау, гуры обменов, где вы?
#2 by acsent
лучше закачивай на ftp и передавай ссылку
#3 by simol
Дело в том. что это обмен по образу и подобию реализованному в Мобильной платформе. Потому такому варианту обменов суждено жить и хочется разобраться в чем проблема.
#4 by H A D G E H O G s
Есть такое 60 метров уже падает
#5 by H A D G E H O G s
Порежь на куски текстовик
#6 by simol
Собирание кусков, полученных разными вызовами сервисов как-то туманно представляется. А официальное объяснение 1с не попадалось?
#7 by simol
Кстати да, на крайняк можно большие файлы через FTP передать. Но хочется запустить сервисом
#10 by simol
Так все сразу и пишутся, или я не понял комментарий?
#11 by Fragster
эт я туплю.
#12 by simol
Передаются даже вложенные файлы и не получается передать единственный элемент с большим вложением.
#13 by Fragster
попробуй пилить по 1000 объектов
#14 by Fragster
и передавать в веб сервис массив этих хранилищ
#15 by Fragster
вообще сколько у тебя объектов в выборке? может просто меняться чаще?
#16 by Fragster
наверное дело в том, что 100 метров распаковываются в несколько гигов, что в память 32битного процесса не влезает - и все.
#17 by H A D G E H O G s
нет.
#18 by H A D G E H O G s
Это что то внутреннее, при работе с base64
#19 by Fragster
а может дело в используемой 1сом зиповской библиотеки... проведите эксперимент с 2.1 гиговым XML
#20 by Fragster
base64???
#21 by Fragster
вон, 7.7 тоже ровнехонько на 2 гигах выгрузки загибалась
#22 by Lama12
У нас тоже проблемы с большим объемом по вэб сервисам. Только связываем 1С и MS Project server. Большенство решений которые удалось найти в интернете предлагают резать на кусочки. Но это не всегда получается.
#23 by Fragster
Вот это падает на 26 итерации, о чем тут может быть речь?
#24 by H A D G E H O G s
Ну да. Как ты в XML поместишь недопустимые символы?
#25 by H A D G E H O G s
Да и в принципе в ХранилищахЗначений все в base64 храница вроде.
#26 by H A D G E H O G s
Даже после сжатия.
#27 by Fragster
да не, я знаю, что хранилище идет в base64 в XML, я про то, что в принципе не создатьхранилище с содержимым больше 2 гигов а не зип?
#28 by Fragster
наверное это сериализатор его так представляет, все таки, а как оно на самом деле - хз.
#29 by H A D G E H O G s
Надо лезть в SQL
#30 by H A D G E H O G s
Хотяяя, счаст слазью.
#31 by simol
Как там?
#32 by Fragster
там в поле с типом imageлежит бинарник. а вот что в бинарнике - хз
#33 by acsent
в sql конечно бинарник, но в вебсервисе он передается как base64
#34 by simol
Чтобы узнать размер ЗаписьXML сразу узнать можно или нужно в строку и СтрДлина или в двоичные и Размер или в файл и размер файла?
#35 by H A D G E H O G s
В Image - бинарные, нет base64
#36 by simol
Сделал переброс данных более 50 Мб через FTP
#37 by QLgKR
суть в том, что платформа читает SOAP сообщение целиком всегда. И если сообщение большое, то может не хватить памяти для обработки. Нужно резать на куски и передавать частями.
#38 by Широкий
Упаковать в zip и передать двоичные данные
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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