私は Websphere と RMS で問題に直面しています。私が持っているものは次のとおりです。
- Windows 2003、sp2、64 ビット、エンタープライズ エディション。
- マイクロソフト オフィス ワード 2003 SP3.
- マシンはドメインに接続されており、ドメイン ユーザー (電子メール アドレスを使用) でログインしました。
- RMS クライアントがインストールされています。
- Word自体から適用しようとすると、RMSは正しく機能します。
- 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 が有効)。
私はJACOBライブラリを使用してMSワードを自動化しようとしており、jacob dll(32)をsystem32フォルダーに割り当て、MS Wordを開き、MSワードファイルを開いて自動化を行うスタンドアロンのJavaクライアントを作成しました( text-replaceing)、この Java クライアントは正しく動作し、COM アプリケーション (MS Word) を正しく呼び出すと、すべて問題ありません。その後、RMS XML テンプレート ファイルのパスを渡すメソッド「 ApplyPolicy 」を呼び出して、word ドキュメントに RMS ポリシーを追加することで、このクライアントを改善しようとしました。このクライアントを試してみましたが、正しく動作しています。
その後、私はそのクライアントを改善し、それを Web プロジェクトに変換し、Websphere 6.1 にデプロイしようとしました (Websphere 自体の /bin ディレクトリ内に JACOB dll を配置して、Websphere で JACOB ライブラリを構成した後)。しかし、その前に「ApplyPolicy」呼び出しを削除して試してみたところ、正しく機能し、MS Word ファイルが開かれ、テキストが置き換えられ、結果ファイルが正しく保存されました。その後、「ApplyPolicy」の呼び出しを復元して試してみましたが、サーバーがハングアップし、ページがロードされたままになり、TASK マネージャーを使用してプロセスを確認したところ、プロセス WINWORD.exe が存在することがわかり、実行しようとするとそれを殺すと、サーバーは戻ってきて、そのログにエラーを出力しました ( A COM 例外が発生しました: At Invoke of: ApplyPolicy 説明:)。
調べてみると、スタンドアローンのJavaアプリを実行してタスクマネージャーを開くとjava.exe *32プロセスとwinword.exe *32プロセスがあったのですが、Webアプリに変換してから実行するとWebsphere内でタスクマネージャーを確認すると、すでにプロセスjava.exe * 32(サーバーの起動時に開始)があり、ページを呼び出すと、winword.exe(32なし)プロセスが作成されてハングし、その結果、サーバーもハングアップしました。だから私を助けてください、どんな助けも大歓迎です。