[omniORB] Interoperability problems with JacORB 1.4beta4

Mike Mascari mascarm@mascari.com
Wed Aug 14 15:58:01 2002


Hello.

I'm having a bit of an interoperability problem using a JacORB 1.4beta4
client with omniORB4 beta2 (July 12th snapshot) and the Fixed point
type. I have the following IDL:

typedef fixed<16,4> Numeric;
typedef long long ID;

struct DBMachine {
 ID machine;
 ID store;
 string name;
 Numeric amount;
};

interface Manager {

...

 ID addMachine(in DBMachine machine) raises (MyException);

...

};

My Java looks like:
-------------------

DBMachine machine = new DBMachine();
long result;

machine.machine = 0L;
machine.store = 5000000426L;
machine.name = "Test";
machine.amount = new BigDecimal("45.5000");

result = manager.addMachine(machine);

omniORB C++ clients work fine with omniORB servers sending and receiving
fixed-point data. The JacORB Java client also works fine receiving
fixed-point data. However, when I send fixed-point data, I get the
following exception thrown in the C++ omniORB server:

omniORB: throw MARSHAL from giopImpl12.cc:1132
(NO,MARSHAL_PassEndOfMessage)

Elsewhere, I have other Java code which attempts to send a struct with a
fixed-point member, and I get this in the server:

omniORB: throw MARSHAL from corbaFixed.cc:1231
(NO,MARSHAL_InvalidFixedValue)

Any clues? Should I post this on the JacORB mailing list as well? 

Mike Mascari
mascarm@mascari.com