Обзор решения
SFTP Proxy — это веб-приложение на Java, которое выполняет функции прокси-сервера между 1С и SFTP. Оно принимает HTTP-запросы от 1С и преобразует их в команды SFTP для работы с удалённым сервером. Таким образом, 1С может передавать и получать файлы с SFTP-серверов через HTTP-интерфейс, не требуя встроенной поддержки SFTP.
Основные возможности SFTP Proxy:
- Чтение файлов с удалённого SFTP-сервера;
- Удаление файлов с SFTP-сервера;
- Загрузка файлов на SFTP.
Требования
Для работы с приложением требуется установленная Java версии 11 или выше. Проверить наличие и версию Java на вашем компьютере можно командой:
java -version
Если Java не установлена, необходимо её установить, следуя официальной документации для вашей операционной системы.
Запуск приложения Java
После того как убедились, что Java установлена, можно запустить приложение SftpProxy в виде отдельного веб-сервера. Для этого выполните следующую команду в командной строке:
java -jar Полный_Путь_К_Файлу/SftpProxy.war --server.port=8080
Здесь:
- Полный_Путь_К_Файлу — это полный путь к файлу SftpProxy.war;
- 8080 — это номер порта, на котором будет запущено приложение. Вы можете указать любой другой порт, если он не занят.
Проверка работы
После запуска приложения откройте веб-браузер и введите адрес:
http://localhost:8080/
Если приложение работает корректно, вы увидите сообщение:
Hello, I am 'SftpProxy' and working... "Текущая_Дата_Время_Компьютера"
Настройка, запуск 1С
Теперь можно переходить к настройке и запуску обработки 1С для работы с веб-сервисом. Для этого в обработке укажите параметры подключения, такие как адрес и порт сервера (например, по-умолчанию, http://localhost:8080/). Параметры и возможные значения указаны на прилагаемой к публикации картинке управляемой формы 1С.
Развёртывание через Docker или Tomcat (необязательно)
Если вы предпочитаете использовать контейнеризацию, то для удобного развёртывания приложения на сервере можно использовать Docker. В прилагаемом архиве вместе с приложением Java в виде war-файла и обработкой 1С находятся файлы Dockerfile и docker-compose.yml. С их помощью можно легко развернуть сервис в контейнере. Также прилагаемый war-файл можно добавить как приложение на сервере Tomcat, чтобы SFTPProxy работал как служба.
Дополнительная информация
Приложение SftpProxy основано на фреймворке Spring Boot и использует следующие зависимости:
- Spring Boot Starters: Web;
- Дополнительные зависимости: Lombok, Tomcat Starter, Spring Boot Starter Test, Commons IO, JSch (для работы с SFTP).
Заключение
Реализация работы с SFTP в 1С через веб-сервис на Java позволяет значительно упростить интеграцию с SFTP-серверами, избегая необходимости внедрения сложных библиотек или сторонних решений. Такое решение гибкое и масштабируемое, а благодаря поддержке Docker и Tomcat его можно быстро и легко развернуть на любом сервере.
Используя данное руководство, вы сможете настроить SFTP Proxy для 1С и облегчить работу с файлами на удалённых SFTP-серверах.
Внимание:
Из-за ограничений по размеру файла нужно скачивать оба файла в этой публикации, т.к. это 1 архив из 2 составных частей.