Discussion:
[omniORB] Help: Narrow reference does not work but Unchecked_Narrow works, what can cause this problem
Chang, Quansheng (NAM RC-CA IC-MOL IL ENG1)
2012-08-13 13:52:39 UTC
Permalink
I'm using Omni ORB 4.16. I'm trying to using some interface from third party. The third party use Omni ORB 4.14 ( the naming service and omniidl ).

I can register my interface and resolve it and narrow it without any problem. But I cannot narrow the interface reference from the third party. I have to use _unchecked_narrow.

The third party cannot narrow my interface reference either. I tried to use option -Wbold to recompile the idl, but it does not help.

Could you please give me any suggestions? What caused the problem?

Thanks in advance,

Laurence


This message and any attachments are solely for the use of intended recipients. The information contained herein may include trade secrets, protected health or personal information, privileged or otherwise confidential information. Unauthorized review, forwarding, printing, copying, distributing, or using such information is strictly prohibited and may be unlawful. If you are not an intended recipient, you are hereby notified that you received this email in error, and that any review, dissemination, distribution or copying of this email and any attachment is strictly prohibited. If you have received this email in error, please contact the sender and delete the message and any attachment from your system. Thank you for your cooperation
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20120813/4cc3a948/attachment.html>
Duncan Grisby
2012-08-14 12:51:01 UTC
Permalink
On Mon, 2012-08-13 at 08:52 -0500, Chang, Quansheng (NAM RC-CA IC-MOL IL
Post by Chang, Quansheng (NAM RC-CA IC-MOL IL ENG1)
I can register my interface and resolve it and narrow it without any
problem. But I cannot narrow the interface reference from the third
party. I have to use _unchecked_narrow.
The two ends disagree about the repository ids for the interfaces. Every
interface has a repository id that is used during narrowing. e.g. for
this IDL:

module Example {
interface Test {};
};

The repository id of the Test interface is "IDL:Example/Test:1.0".
Somehow you don't have matching repository ids.

One way to see the repository ids is to get the text form of the IORs
with orb->object_to_string() and then give it to the catior tool.

Cheers,

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