[omniORB] corbaloc & codeset

Duncan Grisby duncan at grisby.org
Thu Aug 3 18:04:01 BST 2006


On Monday 31 July, JiangWei wrote:

> > This is due to the way codesets are handled in CORBA. It is not a bug in
> > omniORB. Servers publish the codesets they understand in IORs. Based on
> > that, clients decide which codesets they can use to communicate with the
> > server. A corbaloc URI is equivalent to an IOR with no codeset
> > information in it, so the CORBA spec requires omniORB to treat it as
> > though the only codeset it supports is ISO 8859-1.
>
> even after '_narrow()'?

Yes, even after _narrow. Narrow merely confirms that an object reference
supports the interface you want. It does not retrieve a new object
reference from the server, which is what has to happen for it to get
codeset information from the server.

You can choose to implement your servant in the omniINS POA so it throws
omniORB::LocationForward exceptions from all calls, forwarding the
caller to another object reference. That way, the codeset information
will be sent to the client and it will retry the invocation.

Cheers,

Duncan.

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



More information about the omniORB-list mailing list