[omniORB] wstrings get lost (OmniORB -> OpenOrb)?

brk@jenkon.com brk@jenkon.com
Wed, 13 Mar 2002 12:28:22 -0800


Hi all, I'm trying to work with an OpenOrb server from OmniORB. When I =
call
a method declared like this:

		  float news ( in wstring s1 );

and implemented like this (java):

    public float news (String s1) {
	System.out.println("Received: " + s1);
	return s1.length();
    }

with code like this (python):

print calc.news(u"Hello there")

I receive a 0.0 in return. This is what prints on the server console:

Received:

So it seems that nothing's getting through. Here's the exchange in GIOP
terms:

omniORB:

omniORB: sendChunk: to giop:tcp:209.210.37.31:3155 92 bytes
4749 4f50 0102 0100 5000 0000 0600 0000 GIOP....P.......
0300 0000 0000 0000 1400 0000 004f 4f01 .............OO.
d6cc 5791 ec00 0000 504f 41fe 3ec5 fa66 ..W.....POA.>..f
0500 0000 6e65 7773 0000 0000 0000 0000 ....news........
1800 0000 fffe 4800 6500 6c00 6c00 6f00 ......H.e.l.l.o.
2000 7400 6800 6500 7200 6500            .t.h.e.r.e.
omniORB: inputMessage: from giop:tcp:209.210.37.31:3155 28 bytes
4749 4f50 0102 0001 0000 0010 0000 0006 GIOP............
0000 0000 0000 0000 0000 0000           ............

OpenOrb:

------------------------------------------------------------------------=
----
--
( Incoming message ) Display a buffer, size =3D 92
------------------------------------------------------------------------=
----
--
GIOP.... P.......  47494F50 01020100 50000000 06000000
........ .....OO.  03000000 00000000 14000000 004F4F01
+=A6W.8... POA=A6>+=B7f  D6CC5791 EC000000 504F41FE 3EC5FA66
....news ........  05000000 6E657773 00000000 00000000
.....=A6H. e.l.l.o.  18000000 FFFE4800 65006C00 6C006F00
 .t.h.e. r.e.      20007400 68006500 72006500
------------------------------------------------------------------------=
----
--
( ServerChannel: (iiop) 3155 (3155 <- brk.jenkon-dev.com:3164) ) =
incoming
reques
t #6
( ServerManager ) Thread pool grew to 2
( ServerChannel: (iiop) 3155 (3155 <- brk.jenkon-dev.com:3164) ) =
request #4
last
 fragment sent
( ServerChannel: (iiop) 3155 (3155 <- brk.jenkon-dev.com:3164) ) =
request #4
comp
leted
Received:
( ServerChannel: (iiop) 3155 (3155 <- brk.jenkon-dev.com:3164) ) =
request #6
repl
y stream created. Reply status: 0
------------------------------------------------------------------------=
----
--
( Sending message ) Display a buffer, size =3D 28
------------------------------------------------------------------------=
----
--
GIOP.... ........  47494F50 01020001 00000010 00000006
........ ....      00000000 00000000 00000000
------------------------------------------------------------------------=
----
--


Any ideas?

Thanks,

Bryn Keller
Senior Software Engineer
Jenkon
brk@jenkon.com