JACOB не может получить удаленный доступ (вызов DCOM).
Список рассылки JACOB Project FAQ
Можно ли вызвать компонент COM на разных машинах или в операционных системах?
Ответ на этот вопрос - нет. Способ, которым реализован jacob, использует JNI и библиотеку c ++ DLL, разработанную для платформы Windows. COM - это двоичный стандарт, определенный Microsoft, поскольку он еще не был перенесен (насколько я знаю) на какие-либо другие платформы. Jacob - это всего лишь Java-мост для COM, который определяет, как компоненты взаимодействуют друг с другом, когда они находятся на одной машине. Стандарт DCOM определяет, как компоненты взаимодействуют через сети, но у Джейкоба нет поддержки DCOM.
Решения:
- Коммерческие продукты, такие как J-Integra, изначально поддерживают протокол DCOM.
- Использовать RMI. Сделайте обертку для классов Джейкоба и RMI'ify. Это на самом деле работает, но руководитель Джейкоба не хотел, чтобы классы реализовывали сериализованность, что немного усложняло всю операцию.
- Использовать веб-сервисы. Представьте материал, который вы хотели бы иметь в качестве веб-службы, и используйте SOAP и закуски на стороне Java для доступа к нему.
В качестве альтернативы может быть полезно, если локально работающий COM-объект поддерживает удаленный доступ внутренне.
Похоже на следующую статью.
Джейкоб подключается к удаленному компьютеру для поддержки WMI
Пример набора записей ADODB
Проект JACOB: Мост JAva-COM
Загрузка
Двоичный дистрибутив JACOB (jacobBin_XX.zip) включает в себя:
- jacob.jar: файл JAR для классов java, который вы должны добавить в свой CLASSPATH. Имена пакетов заменяют com.ms на com.jacob (например, com.ms.com.Variant сопоставляется с com.jacob.com.Variant.
- jacob.dll: небольшая библиотека Win32, которую вы должны добавить в свой путь.
- примеров: предоставляется в виде исходного кода Java и скомпилированной формы для демонстрации различных функций продукта. В частности, набор классов-оболочек для Microsoft® ADO предоставляется в качестве примеров.
Исходный код доступен в исходном выпуске JACOB (jacobSrc_XX.zip), который включает в себя как код Java, так и код C ++. Исходный дистрибутив - это расширенный набор двоичного кода, поэтому вам не нужно и то, и другое.
У других, похоже, есть другие библиотеки, а не JACOB.
Чистый Java DCOM Bridge с j-interop
J-Interop / J-Interop / SRC / readme.htm
Дополнительно:
Аналогично, его нельзя вызвать между компьютерами, подключенными через локальную сеть.
Также невозможно удаленно вызывать локальные COM-объекты с помощью языка VC ++ или .NET.
Обходной путь - создать прокси-приложение для вызова локального COM-объекта на удаленном компьютере.
Разработайте главное приложение и прокси-приложение произвольно, чтобы они могли взаимодействовать друг с другом с помощью сокета или других средств.