[omniORB] omniOrb to Jacorb, using omniMapper

Duncan Grisby duncan at grisby.org
Tue Jan 31 10:14:26 GMT 2017


On Sun, 2017-01-29 at 21:56 +0100, Davide Andrea via omniORB-list
wrote:

> I'm trying to use an omniorb/c++ servant from a java/jacorb
> application, with no success. I create the servant from the C++ side
> in this way:

[...]
> PortableServer::ObjectId_var iid = poa->activate_object(instance.data());

[...]
> ERROR : org.omg.CORBA.OBJECT_NOT_EXIST:   vmcid: OMG  minor code:
> 1  completed: No

Did your server stay running between outputting its IOR that you put in
omniMapper, and when the Java client tried to call it?  You are using
activate_object(), which means you are not providing an object id,
which means that each startup your object will have a different key. If
your server was restarted, the object would be different.

If that is the issue, you should use a POA with the PERSISTENT and
USER_ID policies, and specify an object id for your object.

If that's not the issue, we need to know if the OBJECT_NOT_EXIST
exception is coming from omniMapper or from your server. Run both
omniMapper and your server with command line

 -ORBtraceLevel 25 -ORBtraceInvocations 1

That will show what is going on, and help diagnose it.

Unless you have multiple different servers that omniMapper forwards
clients to, it might be easier to use the omniINSPOA to support the
named objects within your server, rather than having a separate mapper
process.

Duncan.

-- 
 -- Duncan Grisby         --
  -- duncan at grisby.org     --
   -- http://www.grisby.org --




More information about the omniORB-list mailing list