tags:

views:

234

answers:

2

I have a out of proc COM server (ATL based) and a Java app that instantiates objects from this COM server on the same machine.

What more is needed to DCOM enable it? Is work needed on the COM server only or server and client?

A: 

I know this is not a direct answer, but I can't help thinking that perhaps DCOM is no longer the right solution. You can instead wrap the COM object's functionality in a WCF web service that can be easily called from Java or C# or whatever. Please consider this alternative.

Steven Sudit
Yes I do agree, but I have a system in place that make use of Dmitry's Outlook Redemption Library (which is COM) to talk to Exchange Server and are a bit too far down the release cycle I'm afraid. Actually what I want to do is use the redemption library from a Java 64 bit process, but Redemption (because of its MAPI dependency) comes only in 32 bit, therefore my DCOM question.
Hannes de Jager
I'm sorry, but I'm not going to be able to provide reliable information here; my knowledge of DCOM is outdated.
Steven Sudit
Thanks for the info anyway
Hannes de Jager
I've bumped up your question in hopes that it gets more eyes.
Steven Sudit
A: 

Usually all you need is to have the proxy interface registered on the client side (as well as on the server-side) via regsvr32. If your ATL objects are all IDispatch based, and thats how you call them (not via a custom interface) then a default proxy is already registered on Windows Machines.

At that point you should only need to specify the machine name of the server where the actual objects reside.

As with any DCOM remoting you may have issues with DCOM permissions from the client to the server, which can be typically be resolved by using DCOMCnfg on the server side (Possibly on the client as well, if callbacks are being used). And of course potential Firewall problems - you may need to allow an exception for port 135 (RPC Mapper used by DCOM) to get through on the server.

Ruddy