Содержание
- Знатоки FTP есть?
- 1С: тайм-аут соединения http (Transferred a partial file)
- Ошибка работы с Интернет: Transferred a partial file
- Ошибка работы с Интернет: Transferred a partial file
- Предположение:
- Характеристика клиента:
- Прочие условия:
- Решение:
- Пример кода
- Заключение
Знатоки FTP есть?
Пытаюсь подключиться к FTP серверу через FTPСоединение и при выполнении метода Получить() получаю ошибку
Ошибка работы с Интернет: ftp://xxx.xxx.xxx.xxx:21Transferred a partial file
Анализ последних логов сервера (имеем Filezilla Server) показывает, что сначала клиент запрашивает размер файла (командой SIZE), потом командой RETR пытается его получить и после этого сразу же (без таймаутов — видимо кто-то принудительно разрывает) соединение прекращается.
Гугление по данному вопросу ясности не внесло.
Моя догадка, что клиент спрашивает размер файла, а потом выясняется что объявленный размер не соответствует действительности (хотя я слабо представляю как это происходит), но файл не закачивается при этом ни на байт — на диске создается пустой файл.
В общем, даже не понимаю куда копать и что смотреть. P.S.: передача в пассивном режиме, если это как-то может помочь.
Да не. Провайдер тут ни при чем. Связь 100% стабильная — я даже локально пробовал — такая же фигня. думаю, с настройками самой FileZill’ы проблемы. Вопрос в том, как узнать из-за чего именно соединение на передачу данных не получается.
Самое интересное, что родной клиент (FileZilla) коннектится без проблем. Единственное различие, что родной клиент переводит сервак в пассивный режим командой PASV, а вот 1С-ный клиент командой EPSV. Вот думаю здесь может быть собака зарыта. Еще бы как-нибудь посмотреть логи 1с-ного клиента, но по-моему такая фича не предусмотрена.
+(3) — хотя нет — локально все-таки соединяется без проблем. Не могу понять в чем же может быть проблема: файерволы отключены и локально и удаленно.
В чем же разница между локальным и удаленным подключением? Проводил эксперименты на двух компьютерах, находящихся в одной подсети. Локально подключался не на localhost, а на внешний сетевой адрес компьютера — все работает. FileZilla Server и локально и удаленно установлен с идентичными настройками.
В общем, помощь в данном вопросе все еще актуальна. Просто ну очень не хочется переходить на ВК в таком «штатном» вопросе.
(5) переключить можно везде (и в сервере и на клиенте), только активный режим мне не нужен — в рабочем использовании у меня есть один сервер, который из-за прокси должен работать (и кстати нормально работает, вот только не с встроенным клиентом 1С v8), поэтому этот режим я не тестировал — пытаюсь все-таки настроить пассивный режим. Кстати, компонента DialMail.dll в пассивном режиме тоже нормально работает.
Мне сам смысл ошибке не понятен — я бы еще понял бы если бы какие-то порты были бы перекрыты — соединение по таймауту отваливалось бы, так тут сразу соединение обрывается, причем большое подозрение что рвет его клиент 1С.
Вот это пишет сервер в своем логе и на этом соединение заканчивается:
Источник
1С: тайм-аут соединения http (Transferred a partial file)
Здраствуйте, требуется совет бывалых!
Необходимо получить данные с внешнего веб-сервиса (не 1С), с помощью WS-ссылки получить данные невозможно, т.к. он поднят и написан на SOAP/Java (1С Java-сервисы не понимает толком, точнее не разбирает структуру толком), поэтому создаю новое HTTP-соединение, заполняю шапку и файл-отправки, выполняю метод «ОтправитьДляОбработки».
Если таким способом забирать небольшие объемы данных — все отрабатывается отлично, а на больших после примерно тайм-аута в 50 сек выходит ошибка «Ошибка работы с Интернет: Transferred a partial file».
Тайм-аут в соединении установлен 0, пробовал принудительно указывать 600 — безрезультатно.
В какую сторону копать?
1) soapUI отлично получает и отрабатывает данные, поэтому думаю дело не в настройках файерволла.
2) Через WS-ссылку данные получает, но выводит пустую таблицу.
3) В логах сервера, на котором поднят вебсервис пишет что отдал все данные полностью.
4) Платформа 8.2.17.153, на 8.2.14.540 аналогичная ситуация.
Может не с програмой проблема, а с соединением. Такое встречал когда MTU не совпадал на модеме(точнее через ВПН), у провайдера и на вин.компе.
Попробуй чем то другим (не 1С-ным) для начала передать файл.
Источник
Ошибка работы с Интернет: Transferred a partial file
Ошибка работы с Интернет: Transferred a partial file
Возникла ошибка при получении файла из 1C:Bitrix средствами 1с из УТ 11.2, казалось, при обычном соединении, всё как всегда правильно.
Предположение:
- медлительность битрикса
- медлительность или некорректная работа 1с
- удаленность сайта или его расположение
- особенности платформы или клиентской части
Характеристика клиента:
Платформа 8.3.6.2390, Windows 7 64 bit, ssd, usb-ключ, файловый вариант.
Прочие условия:
Использование Winhttp невозможно, так как сервер заказчика работает под управлением linux.
Решение:
Игра с параметрами таймаутов и заголовков не давала результатов, т.е. файл мог загрузиться, а мог и не загрузиться.
Парадоксально, но после добавления циклической попытки получения, загрузка стала отрабатывать с первого раза.
Пример кода
Но счастье длилось недолго и 20 попыток стало мало. Пришлось увеличить количество попыток до 50 и тогда отдача пошла с 40 попытки.
Надеюсь битрикс не заблокирует эту DDoS-атаку, но пока работает.
Перезапуск 1С Предприятия опять запустило скачку с первой попытки. Платформа? Нестабильность работы сервера bitrix?
Далее: не хватает и 50, сразу после этого — с 8.
Заключение
Ситуация из разряда, когда всё делаешь правильно, но от тебя ничего не зависит и приходится использовать «костыли».
Можно вынести один положительный момент — получается хорошая универсальная «болванка» кода подключения, с отработкой большинства ньюансов.
Реклама — двигатель торговли: сотня двигает, один торгует.
Источник
15.10.09 — 00:33
Пытаюсь подключиться к FTP серверу через FTPСоединение и при выполнении метода Получить() получаю ошибку
Ошибка работы с Интернет: ftp://xxx.xxx.xxx.xxx:21Transferred a partial file
Анализ последних логов сервера (имеем Filezilla Server) показывает, что сначала клиент запрашивает размер файла (командой SIZE), потом командой RETR пытается его получить и после этого сразу же (без таймаутов — видимо кто-то принудительно разрывает) соединение прекращается.
Гугление по данному вопросу ясности не внесло.
Моя догадка, что клиент спрашивает размер файла, а потом выясняется что объявленный размер не соответствует действительности (хотя я слабо представляю как это происходит), но файл не закачивается при этом ни на байт — на диске создается пустой файл.
В общем, даже не понимаю куда копать и что смотреть. P.S.: передача в пассивном режиме, если это как-то может помочь…
1 — 15.10.09 — 01:03
провайдер какой?
2 — 15.10.09 — 01:09
было что подобное вылечилось сменой провайдера
3 — 15.10.09 — 01:20
Да не… Провайдер тут ни при чем…. Связь 100% стабильная — я даже локально пробовал — такая же фигня… думаю, с настройками самой FileZill’ы проблемы… Вопрос в том, как узнать из-за чего именно соединение на передачу данных не получается.
Самое интересное, что родной клиент (FileZilla) коннектится без проблем. Единственное различие, что родной клиент переводит сервак в пассивный режим командой PASV, а вот 1С-ный клиент командой EPSV. Вот думаю здесь может быть собака зарыта…. Еще бы как-нибудь посмотреть логи 1с-ного клиента, но по-моему такая фича не предусмотрена…
4 — 15.10.09 — 12:28
+(3) — хотя нет — локально все-таки соединяется без проблем. Не могу понять в чем же может быть проблема: файерволы отключены и локально и удаленно.
В чем же разница между локальным и удаленным подключением? Проводил эксперименты на двух компьютерах, находящихся в одной подсети. Локально подключался не на localhost, а на внешний сетевой адрес компьютера — все работает. FileZilla Server и локально и удаленно установлен с идентичными настройками.
В общем, помощь в данном вопросе все еще актуальна. Просто ну очень не хочется переходить на ВК в таком «штатном» вопросе.
5 — 15.10.09 — 12:33
а там пассивный/активный режим переключать можно? попробуй!
6 — 15.10.09 — 12:46
(5) переключить можно везде (и в сервере и на клиенте), только активный режим мне не нужен — в рабочем использовании у меня есть один сервер, который из-за прокси должен работать (и кстати нормально работает, вот только не с встроенным клиентом 1С v8), поэтому этот режим я не тестировал — пытаюсь все-таки настроить пассивный режим. Кстати, компонента DialMail.dll в пассивном режиме тоже нормально работает.
Мне сам смысл ошибке не понятен — я бы еще понял бы если бы какие-то порты были бы перекрыты — соединение по таймауту отваливалось бы, так тут сразу соединение обрывается, причем большое подозрение что рвет его клиент 1С.
Вот это пишет сервер в своем логе и на этом соединение заканчивается:
(000046) 15.10.2009 12:31:18 — 000 (xxx.xxx.xxx.xxx)> RETR Message.zip
(000046) 15.10.2009 12:31:18 — 000 (xxx.xxx.xxx.xxx)> 150 Connection accepted
(000046) 15.10.2009 12:31:18 — 000 (xxx.xxx.xxx.xxx)> 426 Connection closed; transfer aborted.
7 — 15.10.09 — 12:51
А провайдер то у тебя всетаки какой? У меня была такая проблема с мегафоном, решилось созданием VPN соединения.
8 — 15.10.09 — 12:52
(7) какой-какой — локальная сеть у меня провайдер )))) уже по инету ниче не тестирую — пытаюсь хотя бы в локалке поднять.
9 — 15.10.09 — 12:55
(8)Тогда хрен знает
Попробуй виндовский FTP и поменяй порт
1с чаще зависает чем рвет соединение — с помощью проводника пускает на FTP? 1с использует стандартные виндовские библиотеки
10 — 15.10.09 — 12:56
к томуже попробуй на другой комп FTP перенести — может просто память/жесткий, сетевуха глючат
11 — 15.10.09 — 12:57
и еще права доступа?
12 — 15.10.09 — 13:02
ftp.exe не поддерживает пассивный режим. Кстати, через проводник взлетело… Блин — неужели очередная недокументированная багофича 1Це…
13 — 15.10.09 — 13:04
(12)А вот это уже странно — 1с использует теже библиотеки что и винда.
А движек то у тебя какой?
14 — 15.10.09 — 13:04
и винда какая?
15 — 15.10.09 — 13:05
(14) На сервере W2K3, локально WinXp
16 — 15.10.09 — 13:06
(13) движок 8.1.13.41
17 — 15.10.09 — 13:11
+(12) Проводник тоже использует команду PASV в отличие от 1С, которая использует EPSV. Все-таки подозреваю что дело в этой команде. Возможно, FileZilla некорректно работает с этой командой. RFC никто не сможет расшифровать по поводу как должна работать EPSV и в чем отличие от PASV? ))))
18 — 15.10.09 — 13:11
(17) *сможет = поможет )))))
19 — 15.10.09 — 13:15
alxbzm товарищ а ты не пробовал обновить ftp сервер свой на последнюю версию. Ведь на то и обновления чтобы исправлять баги программ.
alxbzm
20 — 15.10.09 — 13:25
(19) — не поверишь — первое что попробовал. Установил 0.9.33. Свежее на данный момент нет.
Предложите бесплатную альтернативу — буду очень признателен — попробую на ней.
Ошибка работы с Интернет: Transferred a partial file
Возникла ошибка при получении файла из 1C:Bitrix средствами 1с из УТ 11.2, казалось, при обычном соединении, всё как всегда правильно.
Быстрый переход
- Предположение:
- Характеристика клиента:
- Прочие условия:
- Решение:
-
- Пример кода
-
- Заключение
Предположение:
- медлительность битрикса
- медлительность или некорректная работа 1с
- удаленность сайта или его расположение
- особенности платформы или клиентской части
Характеристика клиента:
Платформа 8.3.6.2390, Windows 7 64 bit, ssd, usb-ключ, файловый вариант.
Прочие условия:
Использование Winhttp невозможно, так как сервер заказчика работает под управлением linux.
Решение:
Игра с параметрами таймаутов и заголовков не давала результатов, т.е. файл мог загрузиться, а мог и не загрузиться.
Парадоксально, но после добавления циклической попытки получения, загрузка стала отрабатывать с первого раза.
Пример кода
Соединение = Новый HTTPСоединение(АдресСайта, , , , , 1500 ); ЗаголовокHTTP = Новый Соответствие(); ЗаголовокHTTP.Вставить("Content-Type", "text/html;charset=UTF-8"); ЗаголовокHTTP.Вставить("Keep-Alive","timeout=30, max=100;"); ЗаголовокHTTP.Вставить("Connection","keep-alive"); ЗаголовокHTTP.Вставить("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.12785 YaBrowser/13.12.1599.12785 Safari/537.36"); ЗаголовокHTTP.Вставить("Host", АдресСайта); HTTPЗапрос = Новый HTTPЗапрос(АдресФайла,ЗаголовокHTTP); Попытка СчетчикПопыток = 1; Пока СчетчикПопыток<20 Цикл Попытка Результат = Соединение.Получить(HTTPЗапрос,ИмяФайлаЗапроса); Сообщить("Получено с "+СчетчикПопыток +" попытки"); Прервать; Исключение СчетчикПопыток = СчетчикПопыток+1; КонецПопытки; КонецЦикла; Если Результат.КодСостояния >299 Тогда СтрокаСообщения = "Код состояния " + Результат.КодСостояния + " файл не запрошен"; Сообщить(СтрокаСообщения); Возврат Ложь; КонецЕсли; Исключение СтрокаСообщения = ОписаниеОшибки(); Сообщить(СтрокаСообщения, СтатусСообщения.Важное); Возврат Ложь; КонецПопытки;
Но счастье длилось недолго и 20 попыток стало мало. Пришлось увеличить количество попыток до 50 и тогда отдача пошла с 40 попытки.
Надеюсь битрикс не заблокирует эту DDoS-атаку, но пока работает.
Перезапуск 1С Предприятия опять запустило скачку с первой попытки. Платформа? Нестабильность работы сервера bitrix?
Далее: не хватает и 50, сразу после этого — с 8.
Заключение
Ситуация из разряда, когда всё делаешь правильно, но от тебя ничего не зависит и приходится использовать «костыли».
Можно вынести один положительный момент — получается хорошая универсальная «болванка» кода подключения, с отработкой большинства ньюансов.
Реклама побуждает людей жить не по средствам? То же самое можно сказать о браке.
Показывать по
10
20
40
сообщений
Новая тема
Ответить
NNR
Дата регистрации: 06.01.2008
Сообщений: 78
Долгое время не работала в программе 1С Предприятие — бухгалтерия, сейчас хочу выполнить все обновления. программа долго грузится, затем появляется надпись — transferred a partial file. Как быть в такой ситуации.
Денис (САМАРА)
Дата регистрации: 09.04.2008
Сообщений: 8351
Выполнять обновление не через подключение к сайту обновлений, а скачивая отдельные пакеты, устанавливая их и обновляя через конфигуратор поочередно.
uinny
Дата регистрации: 12.01.2008
Сообщений: 4814
И не забывать обновлять платформу.
VVP
Дата регистрации: 12.10.2006
Сообщений: 4950
Можно один раз — на крайнюю.
Денис (САМАРА)
Дата регистрации: 09.04.2008
Сообщений: 8351
Может не обновиться на крайнюю.
Показывать по
10
20
40
сообщений