[omniORB] interoperability of DII requests
Welch, Jay
jay.welch at transcore.com
Fri Jul 6 17:11:50 BST 2007
I believe you need to CORBA::string_dup() your argument for the call. Remember that var types such as String_var take ownership of the data and thus discard them when done. See if that helps.
-----Original Message-----
From: omniorb-list-bounces at omniorb-support.com
[mailto:omniorb-list-bounces at omniorb-support.com]On Behalf Of Jason
Stelzer
Sent: Friday, July 06, 2007 4:02 PM
To: Jason Stelzer
Cc: omniorb-list at omniorb-support.com
Subject: Re: [omniORB] interoperability of DII requests
On Jul 6, 2007, at 12:58 PM, Jason Stelzer wrote:
> 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)
>
>
As a followup, I've found that if I make void() calls, I get no
errors. Logging shows the calls are made. However when I return or
pass in strings I get exceptions related to marshalling the data. I'm
not quite sure why.
--
J.
_______________________________________________
omniORB-list mailing list
omniORB-list at omniorb-support.com
http://www.omniorb-support.com/mailman/listinfo/omniorb-list
More information about the omniORB-list
mailing list