2

プロセス外の COM サーバー (ATL ベース) と、この COM サーバーからオブジェクトをインスタンス化する Java アプリを同じマシン上に持っています。

DCOM を有効にするには、さらに何が必要ですか? COM サーバーのみ、またはサーバーとクライアントで作業が必要ですか?

4

2 に答える 2

1

通常、必要なのは、regsvr32を介してクライアント側 (およびサーバー側) にプロキシ インターフェイスを登録することだけです。ATL オブジェクトがすべて IDispatch ベースであり、(カスタム インターフェイス経由ではなく) そのように呼び出す場合、Windows マシンには既定のプロキシが既に登録されています。

その時点で、実際のオブジェクトが存在するサーバーのマシン名を指定するだけで済みます。

他の DCOM リモート処理と同様に、クライアントからサーバーへの DCOM パーミッションに問題がある場合がありますが、これは通常、サーバー側でDCOMCnfgを使用することで解決できます (コールバックが使用されている場合は、クライアントでも可能性があります)。そしてもちろん、潜在的なファイアウォールの問題 - ポート 135 (DCOM によって使用される RPC マッパー) がサーバーを通過するための例外を許可する必要がある場合があります。

于 2010-01-15T16:43:27.380 に答える
0

これが直接的な答えではないことはわかっていますが、おそらく DCOM はもはや適切なソリューションではないと考えずにはいられません。代わりに、Java や C# などから簡単に呼び出すことができる WCF Web サービスで COM オブジェクトの機能をラップすることができます。この代替案を検討してください。

于 2009-07-23T15:41:42.297 に答える