[omniORB] omniORB and TAO
Duncan Grisby
duncan at grisby.org
Fri Jun 17 12:30:23 BST 2005
On Friday 17 June, pouchin at gmail.com wrote:
> I'm using omniORB(4.1, omniORBpy 3x) at client and ACE (5.3.1) TAO
> (1.3) at server.
[...]
> When i call op1 on servant, i got MARSHALL exception. All parameters filled
> correctly.
It's either a bug in TAO, or just that you have failed to register a
valuetype factory. If it is that you have failed to register a valuetype
factory, TAO is still subtly wrong because it is using a TAO specific
exception minor code (0x544100) instead of the OMG standard code it
should use (0x4f4d0001).
> I've noticed that omniORBpy doesn't put RepoIds in CDR while
> marshaling valuetype parameter.
Indeed it doesn't in simple cases like this. It doesn't have to. The
spec only requires it to send repoids if you are sending a value derived
from the type specified in IDL, or it has an RMI: repository id.
I've unpicked the GIOP message, and unless I've misinterpreted the spec,
omniORB is doing the right thing:
GIOP message - HEXDUMP 128 bytes
47 49 4f 50 01 02 01 00 74 00 00 00 02 00 00 00 GIOP....t.......
G I O P 1.2 little endian
request
116 bytes request id
03 00 00 00 00 00 73 14 1b 00 00 00 14 01 0f 00 ......s.........
sync with target
key addressing
pad.. object key.............
52 53 54 bf 77 b2 42 28 33 04 00 00 00 00 00 01 RST.w.B(3.......
....................... .......................
00 00 00 01 00 00 00 00 04 00 00 00 6f 70 31 00 ............op1.
....................... operation name.........
01 00 00 00 01 00 00 00 0c 00 00 00 01 00 00 00 ................
1 service context
codesets 12 octets..............
01 00 01 00 09 01 01 00 64 00 00 00 01 00 00 00 ........d.......
........................ a=100 seq<1>
08 ff ff 7f 0d 00 00 00 09 00 00 00 73 66 64 66 ............sfdf
chunked valuetype encoding; no repoids
13 octets in chunk
string<9> ...........
64 64 67 64 00 00 00 00 ff ff ff ff c8 00 00 00 ddgd............
.............. pad..... chunk end c=200
I suggest you file a bug report for TAO.
Cheers,
Duncan.
--
-- Duncan Grisby --
-- duncan at grisby.org --
-- http://www.grisby.org --
More information about the omniORB-list
mailing list