Without additional configuration your all-java example isn't using
CORBA but rather the Openejb proprietary transport.
Are you sure you've configured everything so both geronimo and your c+
+ client are using the same name service?
Have you configured csiv2 security on the ejb with a TSSGBean and a
<tss-link> element to it in the openejb plan? Without this the ejb
will not get bound in the corba name service.
thanks
david jencks
On Dec 10, 2007, at 2:22 PM, Juergen Weber wrote:
Hi,
I can access an ejb in Geronimo from a Java client like this:
ic = new InitialContext();
CustomerServiceHome sessionHome = (CustomerServiceHome)
PortableRemoteObject
.narrow(ic.lookup("CustomerServiceRemoteHome"),
CustomerServiceHome.class);
session = sessionHome.create();
Customer c = session.findCustomer("1");
Now I'd like to do the same with Omniorb in C++.
Using the tutorial from http://www.yolinux.com/TUTORIALS/CORBA.html
I have
CORBA::Object_var naming_obj =
orb->resolve_initial_references ("NameService");
std::cout << "NameService resolved\n";
CosNaming::NamingContextExt_var naming =
CosNaming::NamingContextExt::_narrow (naming_obj.in ());
std::cout << "NameService narrowed\n";
CosNaming::Name name (1);
name.length (1);
name[0].id = CORBA::string_dup ("CustomerServiceRemoteHome");
CORBA::Object_var obj =
naming->resolve (name);
./a.out -ORBInitRef NameService=corbaloc::localhost:1050/NameService
The output is
NameService resolved
NameService narrowed
IDL:omg.org/CosNaming/NamingContext/NotFound:1.0
So, has anybody an idea how to build a Corba name to access the EJB
in Geronimo?
Thanks for any hints,
Juergen