2010-08-16 30 views
0

Je suis face à un problème avec Websphere et RMS, Suivants sont ce que j'ai:problème avec RMS et Websphere 6.1 32 bits

  • Windows 2003, sp2, 64 bits, édition d'entreprise.
  • Microsoft Office word 2003 sp3.
  • La machine est connectée à un domaine et je me suis connectée par un utilisateur de domaine (avec adresse e-mail).
  • Le client RMS est installé.
  • RMS est travaillé correctement en essayant de l'appliquer à partir de Word lui-même.
  • Websphere v6.1 (6.1.0.21), 32 bits, version Java: IBM J9 VM (version 2.3, J2RE 1.5.0 IBM J9 2.3 Windows Server 2003 x86-32 j9vmwi322 3ifx-20080811 (JIT activé)

J'essaie d'automatiser le mot MS en utilisant JACOB bibliothèque et j'affecté la dll jacob (32) dans le dossier system32, et je créé un client java autonome qui ouvre MS Word et ouvert MS Ce fichier java-client fonctionne correctement et appelle l'application COM (MS Word) correctement et tout est OK Ensuite, j'ai essayé d'améliorer ce client en ajoutant la politique RMS sur le document Word en invoquant la méthode "ApplyPolicy" en passant le chemin du fichier de modèle XML RMS. J'ai essayé ce client et ça fonctionne correctement.
Ensuite, j'ai amélioré ce client et l'ai converti en Web-Project et essayé de le déployer sur Websphere 6.1 (après avoir configuré la bibliothèque JACOB avec websphere en mettant la DLL JACOB dans le répertoire/bin pour websphere). Mais avant cela, j'ai supprimé l'invocation "ApplyPolicy" et l'ai essayé, et cela a fonctionné correctement, le fichier MS Word a ouvert et le fichier texte-remplacé et le fichier résultat sont sauvegardés correctement. Après cela, j'ai restauré l'invocation de "ApplyPolicy" et essayé, mais le serveur a pendu, et la page était encore en chargement, j'ai vérifié le processus en utilisant TASK manager, j'ai trouvé qu'il y avait un processus WINWORD.exe, et quand j'ai essayé de le tuer, le serveur renvoyé et l'erreur imprimée dans son journal (Une exception COM a été rencontrée: At Invoke of: ApplyPolicy Description: L'appel de procédure distante a échoué).
Après avoir enquêté, j'ai découvert que lorsque j'exécutais l'application Java autonome et que j'ouvrais le gestionnaire de tâches, il y avait un processus java.exe * 32 et un processus winword.exe * 32, mais quand je le convertissais en application web à partir de l'intérieur de la websphere et vérifié le gestionnaire de tâches il y avait déjà un processus java.exe * 32 (démarré au démarrage du serveur) et quand j'ai appelé ma page, un winword.exe (sans 32) processus créé et pendu et comme résultat le serveur a également pendu. Alors s'il vous plaît aidez-moi, toute aide sera appréciée.

Répondre

0

Dears, Heureusement, je l'ai résolu ce problème comme suit: La raison était pas l'environnement 64 bits, mais l'utilisateur qui exécute le serveur ... OK, je vais vous expliquer:
Le moteur IBM Websphere Application le service a été configuré pour être démarré par le système local , de sorte que le WASService.exe et les services java.exe sont mis en marche par le système local et quand jacob court et appelle msword.exe le msword.exe commencé par le système local aussi, jusqu'à maintenant tout est OK mais puisque j'appelais le "ApplyPolicy "méthode qui applique le RMS sur le document de sorte que le msword.exe essayait d'appliquer la politique en utilisant le système local et c'est faux, car lorsque vous essayez d'appliquer RMS, vous devez l'appliquer par l'utilisateur que vous avez connecté au système (utilisateur du domaine), qui peut appliquer la politique RMS sur un document . Donc, pour résoudre le problème, j'ai changé l'utilisateur qui est responsable de l'exécution du service "IBM Websphere Application Engine" du système local au vrai utilisateur du domaine (allez à run -> services.exe: recherche du service IBM et modification de l'utilisateur de connexion), et tout va bien maintenant.