Hello, this is probably a self inflicted problem as I'm very new to corba. But, 
there doesn't seem to be many good places to look for examples that apply to 
what I'm doing.

Currently I'm working on getting an older application of ours to talk to our 
newer ejb servers via corba. We're using java 1.5 on the server side with jboss 
4.0.5GA. On the client side, I'm using omniorb 4.1.0. At this point I've 
puzzled out how to get ejb3 beans registered with jacorb in jboss. So, at this 
point I can look up the remote interface to an ejb3 bean in the orb.

I can connect to the jboss server and lookup the remote name service on the C++ 
side.

I can lookup objects and create requests. However, I believe I'm either putting 
the request together wrong or need to declare things slightly differently.

The bean I'm talking to is a glorified hello world bean. It takes a string as 
an argument and returns a different string. The method never gets invoked. It 
looks like things are dying during the corba marshalling of input. All I see in 
the jboss log is:


  | 12:12:40,052 ERROR  sys : [STDERR] org.omg.CORBA.MARSHAL: unknown value 
tag: 0x6 (offset=0x88)  vmcid: 0x0  minor code: 0  completed: No
  | 12:12:40,052 ERROR  sys : [STDERR]      at 
org.jacorb.orb.CDRInputStream.read_value(CDRInputStream.java:2446)
  | 12:12:40,053 ERROR  sys : [STDERR]      at 
org.jboss.iiop.rmi.marshal.CDRStream$StringReader.read(CDRStream.java:578)
  | 12:12:40,053 ERROR  sys : [STDERR]      at 
org.jboss.iiop.rmi.marshal.strategy.SkeletonStrategy.readParams(SkeletonStrategy.java:128)
  | 12:12:40,053 ERROR  sys : [STDERR]      at 
org.jboss.ejb3.iiop.BeanCorbaServant._invoke(BeanCorbaServant.java:193)
  | 12:12:40,054 ERROR  sys : [STDERR]      at 
org.jacorb.poa.RequestProcessor.invokeOperation(RequestProcessor.java:297)
  | 12:12:40,054 ERROR  sys : [STDERR]      at 
org.jacorb.poa.RequestProcessor.process(RequestProcessor.java:596)
  | 12:12:40,054 ERROR  sys : [STDERR]      at 
org.jacorb.poa.RequestProcessor.run(RequestProcessor.java:739)
  | 12:12:40,054 INFO   sys : [controller] rid: 4 opname: echoString 
invocation: system exception was thrown (org.omg.CORBA.MARSHAL: unknown value 
tag: 0x6 (offset=0x88)  vmcid: 0x0  minor code: 0  completed: No)
  | 

Assuming I've looked up the right object, does this seem like a reasonable way 
to call a remote method as I've described on the C++ side? Appologies if this 
comes through mangled.


  |   CORBA::String_var arg = (const char*)"Echo!";
  |   CORBA::Request_var req = obj->_request("echoString");
  |   req->add_in_arg() <<= arg;
  |   req->set_return_type(CORBA::_tc_wstring);
  | 
  |   req->invoke();
  | 
  |   if( req->env()->exception() ) {
  |        CORBA::Exception *excP = req->env()->exception();
  |       cout << "echo_diiclt: An exception was thrown! " << excP->_name()  << 
endl;
  |       return;
  |   }
  | 
  |   const char* ret;
  |   req->return_value() >>= ret;
  |   cout << "I said, \"" << (char*)arg << "\"." << endl
  |       << "The Echo object replied, \"" << ret <<"\"." << endl;
  | 
  | 

Thanks for your time.

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4061399#4061399

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4061399
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to