Re: Does ORBit place any constraints on the IIOP?



On Thu, 2002-04-11 at 13:29, Anders Selander wrote:
> Hello,
> 
> I have learned some more since 
> http://mail.gnome.org/archives/orbit-list/2002-March/msg00098.html and
> http://mail.gnome.org/archives/orbit-list/2002-April/msg00023.html. 
> 
> I eventually got a Java-server and a Perl-client working, the Java in
> question being jdk1.2, residing on a Solaris-machine on my old university.
> 
> Comparing the IOR:s of the simple example produced with jdk1.2, 1.3.1, and
> 1.4.0, I realised that they all use different revisions of IIOP -
> jdk1.2 uses IIOP1.0, 1.3.1 uses 1.1, and 1.4.0 IIOP 1.2. What does 
> CORBA::ORBIT handle? I thougth ORBit at least worked with IIOP 1.0 and 
> 1.1?
Yes, the server (Java-site) generates some IOR for registered object and
offers some profiles and protocols the client must choose from. If the
server offers IIOP-1.2, it is also able to handle IIOP-1.1 and IIOP-1.0.

The client (perl-site, ORBit) chooses the protocol that suits best. 

> If I switch off IPv6, the client
> just hangs when accessing the object, until one interrupts the server,
> then the client immediatelt exits with:
Well, those switches should not have any effects on clients. The
protocol and version, choosen by client, should only depend on
IOR-encoded parameters, given by server. Anyway, if you want to have a
worlwide reachable ORB, in ~/.orbitrc you should set:
ORBIIOPUSock=0
ORBIIOPIPv4=1

Well, did you ever try "long" as return parameter-type? There might be
problems between 16-bit char of Java and 8-bit char of C/Perl. In fact
Corba-strings are very ugly to encode/decode, dealing with chars and
wide-chars of 8/16/24/32 bit. This might be source of your troubles.

What about if you are using "long" as return value (allthough this has
little effect on invocation-cycle)?  If this works fine you should try 
"seq<long>" instead of "string" as this might work arround allignment
bugs, converting 16-bit Java-Char into 8-bit C-Char first on server side
on your own.

 module my_module {

        interface MyObject {

                long name();
        };
};


> Why?
Cant tell, I am not ORBit-developer.

Cheers, Frank
 
-- 
-------------------------------------------------
 Frank.Rehberger at acm.org
-------------------------------------------------
 The Twelve Networking Truths 
 http://www.ietf.org/rfc/rfc1925.txt?number=1925
-------------------------------------------------





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]