My goal is to write a pure Corba client that accesses an enterprise bean and
invokes a method that returns an object by value (the Corba valuetype). I
have encountered the following problem:
When I run the rmic compiler on the OBV class:
public class Customer implements java.io.Serializable
{
public String name;
}
I get an IDL that contains an RMI repository ID for the Customer:
valuetype CustomerVT {
public ::CORBA::WStringValue name;
#pragma ID name "RMI:Customer/name:0000000000000000"
};
#pragma ID CustomerVT "RMI:Customer:71DA8BE7F971128"
Then, when I run this IDL through several idl compiler (Sun, VisiBroker,
Iona) the repository ID is either discarded or the code generation fails.
And of course, if I comment out the repository ID the runtime marshalling
will fail.
The problem that I see is that the EJB server emits an repository ID that
uniquely identifies the Java object on the server, and this ID would not
match the object implementing the valuetype on the client side. More that
that, the above mentioned idl compilers do not accept the repository ID
specified in the IDL.
So how can the client unmarshall the valuetype? How can the ORB associate
"RMI:Customer:71DA8BE7F971128" with the implementation of the value type?
Bogdan Calmac,
Cisco Systems
===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff EJB-INTEREST". For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".