Re: ORBit-0.5.12 <--> Java 1.3.1
- From: "KAWAI,Takanori" <GCD00051 nifty ne jp>
- To: <orbit-list gnome org>
- Subject: Re: ORBit-0.5.12 <--> Java 1.3.1
- Date: Sat, 8 Dec 2001 09:02:48 +0900
Hi.
----- Original Message -----
From: "Adam Buckley" <adambuckley@gmx.net>
To: <orbit-list@gnome.org>
Sent: Saturday, December 08, 2001 3:50 AM
Subject: ORBit-0.5.12 <--> Java 1.3.1
> Hi,
>
> I'm busy testing ORB-interoperability using an 'EchoServer' example.
> Everything is executed on one machine running RedHat Linux 6.1. The
> development tools are ORBit-0.5.12 and Java SDK 1.3.1, using the built-in
> "JavaIDL" functionality. The IOR is passed as a shared file.
>
> Here's the result:
>
> Java Client >> Java Server Works!
> Java Client >> Orbit Server Works!
> Orbit Client >> Orbit Server Works!
>
> Orbit Client >> Java Server Dies.
>
>
> The exception thrown by the final test was:
>
> Major 2
> Repo ID: IDL:CORBA/MARSHAL:1.0
>
>
> Then I removed the trailing \n from the Java-generated IOR file. Now the
> invocation gets through, and the Java server prints the correct message,
but
> the ORBit client does not return from the remote method call - it just
> blocks indefinately.
>
> If I CTRL-C the Java Server, the ORBit client wakes up, but with the
> exception:
>
> Major: 2
> Repo ID: IDL:CORBA/COMM_FAILURE:1.0
>
>
> Has anyone else had this problem? Should I switch to ORBit2? Should I
> switch to a different Java-side ORB? Or should I sell my computer and use
> the money to set up a hippy commune in the countryside, where we would
grow
> our own vegetables and lead rich, meaningful lives?
I met similar problem with J2SE(1.4. Beta 3) and Perl CORBA::ORBit
(that module uses ORBit).
It seems that J2SE returns invalid(?) message, because of that
it select sockets again.
So I just modify to avoid this like below and set JAVACORBA
evironment variable when I use client.
I don't know what it true or right and get no answer about this.
I hope this maybe your help.
[Modification]
ORBit-0.5.12/src/IIOP giop-msg-buffer.c
$ diff giop-msg-buffer.csv giop-msg-buffer.c
1085a1086,1102
> if(getenv("JAVACORBA")) {
> GIOP_unsigned_long *lPnt = (GIOP_unsigned_long *)request_ids->data;
>
> unsigned char *cPos = (unsigned char *)retval;
> int iPos = 0;
> for(iPos =0; iPos<sizeof(*retval); ++iPos, ++cPos) {
> if((iPos % 16)==0) printf("\n");
> else if((iPos % 4)==0) printf(" ");
> printf("%02X", *cPos);
> }
> printf("\n----------\nWAIT:%X Java: %X %X\n",
> *lPnt,
> retval->message.u.reply.request_id ,
> retval->message.u.reply.reply_status );
> retval->message.u.reply.request_id = *lPnt;
> retval->message.u.reply.reply_status = 0;
> }
[Result with J2SE]
D8720D08 D4B31908 47494F50 01000001
DD000000 00000000 02000000 B8750D08
FFBF0000 000024F7 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 48C11908
12C21908 F0782140 02000000 00000000
----------
WAIT:BFFFF724 Java: BFFF F7240000
[Result with Perl]
A8730D08 D4B31908 47494F50 01000101
2F000000 00000000 00000000 00000000
24F7FFBF 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 E0C11908
F8C11908 B0720508 02000000 00000000
----------
WAIT:BFFFF724 Java: BFFFF724 0
==============================================
Kawai, Takanori(Hippo2000)
Mail: GCD00051@nifty.ne.jp kwitknr@cpan.org
http://member.nifty.ne.jp/hippo2000
==============================================
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]