Проблема с RMS и Websphere 6.1 32 бит - PullRequest
0 голосов
/ 16 августа 2010

У меня проблема с Websphere и RMS, вот что у меня есть:

  • Windows 2003, sp2, 64-битная версия для предприятий.
  • Microsoft Office Word 2003 sp3.
  • Устройство подключено к домену, и я вошел в систему пользователем домена (с адресом электронной почты).
  • Клиент RMS установлен.
  • RMS работает правильно при попытке применить его из Word самостоятельно.
  • Websphere v6.1 (6.1.0.21), 32-разрядная версия, версия Java: IBM J9 VM (сборка 2.3, J2RE 1.5.0, IBM J9 2.3, Windows Server 2003 x86-32 j9vmwi322 3ifx-20080811 (JIT включен).

Я пытаюсь автоматизировать MS word, используя библиотеку JACOB , и я выделил jacob dll (32) в папке system32, и я создал автономный клиент Java, который открывает MS Word, и откройте файл MS Word и выполните некоторую автоматизацию (замену текста), и этот java-клиент будет работать правильно, и правильно вызовите приложение COM (MS Word), и все в порядке. После этого я попытался улучшить этого клиента, добавив политику управления правами к слову Word, вызвав метод " ApplyPolicy ", передавая путь к файлу шаблона RMS XML. Я попробовал этот клиент, и он работает правильно.
После этого я улучшил этот клиент, преобразовал его в веб-проект и попытался развернуть его в Websphere 6.1 (после того, как я настроил библиотеку JACOB с помощью websphere, поместив dll JACOB в каталог / bin для самой websphere). Но перед этим я удалил вызов «ApplyPolicy» и попробовал его, и он работал правильно, файл MS word открылся, текст был заменен, а файл результатов сохранен правильно. После этого я восстановил вызов «ApplyPolicy» и попробовал его, но сервер завис, и страница все еще загружалась, я проверил процесс с помощью диспетчера TASK, обнаружил, что существует процесс WINWORD.exe, и когда я попытался убейте его, сервер вернул назад и напечатал ошибку в своем журнале ( Обнаружено исключение COM: при вызове: ApplyPolicy Описание: сбой удаленного вызова процедуры. ).
После исследования я обнаружил, что при запуске автономного приложения java и открытии диспетчера задач был процесс java.exe * 32 и процесс winword.exe * 32, но когда я преобразовал его в веб-приложение и запустил его из внутри веб-сферы и проверил диспетчер задач, там уже был процесс java.exe * 32 (запущенный на запущенном сервере), и когда я позвонил на мою страницу, процесс winword.exe (без 32) создал и повесил, и в результате сервер тоже повесился. Поэтому, пожалуйста, помогите мне, любая помощь будет оценена.

1 Ответ

0 голосов
/ 18 августа 2010

Уважаемые, К счастью, я решил эту проблему следующим образом: Причиной была не 64-битная среда, а пользователь, который запускает сервер ... Хорошо, я объясню:
Служба IBM Websphere Application Engine была настроена для запуска локальной системой , поэтому WASService.exe и java.exe службы запускаются локальной системой, и когда jacob запускается и вызывает msword.exe msword.exe, запускаемый также локальной системой, до сих пор все в порядке, но так как я вызывал " ApplyPolicy"метод, который применяет RMS к документу таким образом, что msword.exe пытался применить политику, используя локальную систему, и это неправильно, потому что, когда вы пытаетесь применить RMS, вы должны применить его пользователем, которого вы вошли в систему (пользователь домена), который может применять политику RMS к документу. Поэтому, чтобы решить эту проблему, я изменил пользователя, который отвечает за запуск «службы IBM Websphere Application Engine», с локальной системы на пользователя реального домена (, перейдите в run -> services.exe: найдите службу IBM и изменили вход в систему. пользователь ), и теперь все в порядке.

...