Erlang and Java through CORBA version combinations

Niclas Eklund Niclas.Eklund@REDACTED
Mon Sep 23 11:24:07 CEST 2002


There seems to be a problem with JDK-1.3.1 regarding CodeSet negotiation;
it cannot handle IOR:s which include CodeSet components correctly. This
happens if the JDK-ORB act as client-side ORB - raises the
org.omg.CORBA.INV_OBJREF exception (minor code: 1398079490). In the next
Orber-version it will be possible to configure Orber to exclude this
component, even though the OMG specification states that it should be
included. Activating this option will most likely cause problems if you
use the datatype(s) wchar and/or wstring.

I'll probably be able to give a better answer if you could:

 * Use 'orber_debug_level 10' and e-mail any printouts.
    shell> erl -orber orber_debug_level 10
    erl> orber:configure(orber_debug_level, 10).

 * The minor-code in the marshal-exception?

 * Which datatypes are you using (IDL-code)?


> Hi!
> About a year ago, I tried to get Erlang to talk to Java JDK 1.3.1
> through CORBA. At that time I did not succeed, but now I finally found a
> work-around. Not that I have been working on it all this time of
> course...
> I assume that it is a bug in JDK 1.3.1: it gives IORs with GIOP version
> 1.1, but when Erlang speaks 1.1 to it, the Java ORB throws marshalling
> errors. So my work-around is, to change the versions of incoming IORs to
> the version that was provided at the command line to the Erlang shell
> with '-orber giop_version "{1,0}"'. That way Orber will think that it is
> supposed to talk GIOP 1.0 to it. It is a bit dirty, but it worked...
> It is a very small modification, and I have only tried it with Orber
> 3.2.13 and JDK 1.3.1. So I cannot promise that it will not break
> anything else. It only solved my problem, so I am happy with it myself.
> I have included the diff from the original to my adapted version.
> Regards,
> *Erik.

More information about the erlang-questions mailing list