В моем текущем проекте мы используем Apache Axis для удаленных вызовов через SOAP.
Теперь есть случаи, когда хост + порт сервера не доступен напрямую из-за ограничений брандмауэра, но есть вероятностьтуннеля SSH.
В документации Axis упоминается возможность подключения собственной фабрики сокетов .Но это подключение возможно только при условии указания имени класса реализации в свойстве System.
Я потратил час или около того, чтобы реализовать SocketFactory (через собственную реализацию SocketImpl) на основе JSchсеанс - но этот объект SocketFactory зависит от объекта Session и не может быть просто независимо создан.
Я думаю, что я мог бы как-то решить эту проблему, используя статические переменные / методы, но это, конечно, не выглядит хорошо.1013 *
На самом деле, я хочу иметь возможность предоставить новый SocketFactory (с другим базовым SSH-сеансом) для каждого сервера (или группы серверов), которых может существовать несколько одновременно - таким образом, это будет необходимочтобы предоставить это ServiceLocator.
Есть ли способ решить эту проблему?