Проблема с RMS и Websphere 6.1 32 бит

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

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

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


person Saeed    schedule 16.08.2010    source источник


Ответы (1)


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

person Saeed    schedule 18.08.2010