RMS和Websphere 6.1 32位问题

时间:2010-08-16 07:49:49

标签: java ms-word websphere-6.1 jacob rms

我遇到了Websphere和RMS的问题,以下是我所拥有的:

  • Windows 2003,sp2,64位,企业版。
  • Microsoft Office word 2003 sp3。
  • 计算机已连接到域,我由域用户登录(使用电子邮件地址)。
  • 已安装RMS客户端。
  • 当尝试从Word自己应用RMS时,RMS正常
  • Websphere v6.1(6.1.0.21),32位,Java版本:IBM J9 VM(build 2.3,J2RE 1.5.0 IBM J9 2.3 Windows Server 2003 x86-32 j9vmwi322 3ifx-20080811(已启用JIT)。

我正在尝试使用 JACOB 库自动化MS字,我在system32文件夹中分配了jacob dll(32),并创建了一个打开MS Word的独立Java客户端,并打开MS word文件并进行一些自动化(文本替换),这个java-client工作正常,并正确调用COM应用程序(MS Word),一切正常。 之后,我尝试通过调用方法“ ApplyPolicy ”传递RMS XML模板文件的路径,在word文档上添加RMS策略来改进此客户端。我试过这个客户端,它工作正常 之后,我改进了该客户端并将其转换为Web-Project并尝试将其部署在Websphere 6.1上(在我使用websphere配置JACOB库之后,将JACOB dll放在websphere本身的/ bin目录中)。但在此之前我删除了“ApplyPolicy”调用并尝试了它,它运行正常,MS word文件打开,文本替换和结果文件正确保存。之后我恢复了“ApplyPolicy”的调用并尝试了,但服务器挂了,页面仍在加载,我使用TASK管理器检查过程,我发现有一个进程WINWORD.exe,当我试图杀死它,服务器返回并在其日志中打印错误(遇到COM异常:在Invoke of:ApplyPolicy描述:远程过程调用失败。)。
经过调查,我发现当我运行独立的java应用程序并打开任务管理器时,有一个java.exe * 32进程和winword.exe * 32进程,但是当我将它转换为Web应用程序并从中运行它时在websphere内部并检查任务管理器已经有一个进程java.exe * 32(在服务器启动时启动)当我调用我的页面时,创建并挂起了一个winword.exe(没有32)进程,因此服务器也被绞死了。 所以请帮助我,任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

亲爱的,幸运的是,我解决了以下问题: 原因不是64位环境,而是运行服务器的用户......好的我会解释:
IBM Websphere Application Engine服务配置为由本地系统启动,因此 WASService.exe java.exe 服务由本地系统启动,当jacob运行并调用 msword.exe 本地系统启动的msword.exe时,到现在一切正常但是因为我正在调用“< strong> ApplyPolicy “在文档上应用RMS的方法,因此msword.exe尝试使用本地系统应用策略,这是错误的,因为当您尝试应用RMS时,您必须由用户应用它由它记录到系统(域用户),该系统可以在文档上应用RMS策略。因此,为了解决这个问题,我将负责运行“IBM Websphere Application Engine服务”的用户从本地系统更改为真实域用户(转到运行 - &gt; services.exe:搜索IBM服务并更改了登录用户),现在一切正常。