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?
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?
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.
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.