[omniORB] [giop 1.2 interoperability] Is omniORB compatible with GIOP 1.2 ?!?

Duncan Grisby duncan at grisby.org
Mon Sep 15 16:56:38 BST 2003


On Wednesday 10 September, Tomasz Bech wrote:

> I have Visibroker 4.5 in Delphi and omniORB 4.0.1 on server side (AIX).
> It works together, but in case of long data (texts) client receives the 
> BAD_INV_ORDER exception (it is thrown on client side, not server).
> Server is giving following stream:

[...]
> omniORB: sendChunk: to giop:tcp:129.184.99.192:4536 17 bytes
> omniORB:
> 4749 4f50 0102 0007 0000 0005 0000 0121 GIOP...........!
> 00       
> 
> 1. What is the last chunk? It is not part of my response. And it causes 
> the problem in Visibroker - it is not expected.

It is part of your response. It's a continuation fragment. Visibroker
is buggy if it doesn't support it. The reason for the fragment is that
omniORB doesn't know the length of your data in advance, so it sends
it in parts. In GIOP 1.0, it has to pre-calculate the size of the
whole message, which is much less efficient. With short messages, less
than 8K, the whole message fits in a single network buffer, so there's
no need to fragment.

Cheers,

Duncan.

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



More information about the omniORB-list mailing list