Discussion:
[omniORB] JACOrb Server and OmniORB Client connection
T. Le Flour
2012-02-15 19:25:48 UTC
Permalink
Hi all,
I would like to access a JacORB server from an omniORB C++ client.
The current situation is the following :
. The JacORB server registers itself to omniNames. By looking the
name server content, it seems the registration works correctly.
. From the OmniORB client, I get the JacORB client reference via
Omninames. By looking to the server IOR, everything seems to be
correctly set(IP, Port , Type ID,...)
. When i want to narrow the object reference , i got the message :
omniORB: ERROR -- the application attempted to invoke an
operation on a nil reference. terminate called after throwing an
instance of 'CORBA::INV_OBJREF'

Are there some incompatibilities between the 2 ORB's implementations
(characters encoding, ...) or some specifics configurations to set?
Any ideas ?
Thanks in advance

Best regards.
Thierry Le Flour
--
Thierry Le Flour
Laboratoire d'Annecy le vieux de Physique des Particules(wwwlapp.in2p3.fr)
Service Informatique
Contact :
Mail : thierry.le-***@lapp.in2p3.fr
Tel. : (33) (0) 4 50 09 55 73

-------------- next part --------------
A non-text attachment was scrubbed...
Name: leflour.vcf
Type: text/x-vcard
Size: 305 bytes
Desc: not available
Url : http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20120215/0f88513f/leflour.vcf
Duncan Grisby
2012-02-15 21:38:26 UTC
Permalink
On Wed, 2012-02-15 at 14:25 +0100, T. Le Flour wrote:

[...]
Post by T. Le Flour
. The JacORB server registers itself to omniNames. By looking the
name server content, it seems the registration works correctly.
. From the OmniORB client, I get the JacORB client reference via
Omninames. By looking to the server IOR, everything seems to be
correctly set(IP, Port , Type ID,...)
omniORB: ERROR -- the application attempted to invoke an
operation on a nil reference. terminate called after throwing an
instance of 'CORBA::INV_OBJREF'
That implies that you are using _narrow to narrow the object reference,
then you are immediately trying to invoke a method on it? Is that
right? If so, the problem is that the object does not have the expected
interface, so _narrow returns nil.

Perhaps JacORB and omniORB have a different view of the repository ids
of the interfaces?

Cheers,

Duncan.
--
-- Duncan Grisby --
-- ***@grisby.org --
-- http://www.grisby.org --
T. Le Flour
2012-02-15 21:53:36 UTC
Permalink
Hi Duncan,
thank you for your answer. It is exactly what i am doing.
But, when i get the IOR from OmniNames(see below), i found all the
informations of the JacORB server.(even the interface name)
Does it mean that OmniORB and JacORb are nor inter-operable ?
Cheers,
Thierry

=================================================================================
Type ID: "IDL:Camera/AutoFocus:1.0"
Profiles:
1. IIOP 1.2 134.158.99.114 2571 ".......
..."................RootPOA.............."
TAG_CODE_SETS char native code set: ISO-8859-1
char conversion code set: UTF-8, 0x00010020
wchar native code set: UTF-16
wchar conversion code set: 0x00010100

unknown tag(0x00000026) 0x0002
===================================================================
Post by Duncan Grisby
[...]
Post by T. Le Flour
. The JacORB server registers itself to omniNames. By looking the
name server content, it seems the registration works correctly.
. From the OmniORB client, I get the JacORB client reference via
Omninames. By looking to the server IOR, everything seems to be
correctly set(IP, Port , Type ID,...)
omniORB: ERROR -- the application attempted to invoke an
operation on a nil reference. terminate called after throwing an
instance of 'CORBA::INV_OBJREF'
That implies that you are using _narrow to narrow the object reference,
then you are immediately trying to invoke a method on it? Is that
right? If so, the problem is that the object does not have the expected
interface, so _narrow returns nil.
Perhaps JacORB and omniORB have a different view of the repository ids
of the interfaces?
Cheers,
Duncan.
--
Thierry Le Flour
Laboratoire d'Annecy le vieux de Physique des Particules(wwwlapp.in2p3.fr)
Service Informatique
Contact :
Mail : thierry.le-***@lapp.in2p3.fr
Tel. : (33) (0) 4 50 09 55 73

-------------- next part --------------
A non-text attachment was scrubbed...
Name: leflour.vcf
Type: text/x-vcard
Size: 314 bytes
Desc: not available
Url : http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20120215/93e2d63b/leflour.vcf
Duncan Grisby
2012-02-15 22:10:52 UTC
Permalink
Post by T. Le Flour
thank you for your answer. It is exactly what i am doing.
But, when i get the IOR from OmniNames(see below), i found all the
informations of the JacORB server.(even the interface name)
Does it mean that OmniORB and JacORb are nor inter-operable ?
omniORB and JacORB interoperate fine. What exactly is the code that you
have on the omniORB side? Exactly which bit of it throws the INV_OBJREF
exception?
Post by T. Le Flour
Type ID: "IDL:Camera/AutoFocus:1.0"
Is that the repository ID that omniORB thinks the interface has?

Perhaps you could run the omniORB side with -ORBtraceLevel 30
-ORBtraceInvocations 1

Duncan.
--
-- Duncan Grisby --
-- ***@grisby.org --
-- http://www.grisby.org --
Loading...