[jacorb-developer] TAO 1.7 Compatibility Issue

Vasya Tretyakov vasyamn at yahoo.com
Thu Jun 21 11:15:49 CEST 2012


Hi Nick,

Thank you for the reply.

Unfortunately the developer of the TAO-based CORBA server component doe not provide the source code for the application, hence I cannot undate the implementation to the up-to-date release of TAO.

Do you have any idea whether the extra byte in the parameter list section of the GIOP Request packet could be the possible cause of the exception I am getting?

Regards,
Vasyl 

________________________________
 From: Nick Cross <jacorb at goots.org>
To: Vasya Tretyakov <vasyamn at yahoo.com>; Discussions concerning CORBA development with JacORB <jacorb-developer at lists.spline.inf.fu-berlin.de> 
Sent: Wednesday, June 20, 2012 2:56 PM
Subject: Re: [jacorb-developer] TAO 1.7 Compatibility Issue
 

Hi,

JacORB has been tested for interoperability with TAO.

TAO 1.7 is I think 3 years old now - the current version is ACE 6.x and 
TAO 2.x (http://download.dre.vanderbilt.edu/).

Could you retest with the current versions of TAO and JacORB ?

Regards

Nick



On 20/06/12 11:12, Vasya Tretyakov wrote:
> Dear Members,
>
> I have a need to write an application that communicates with another
> process on a different server. The developers of the software I would
> like to connect to provide an IDL file to facilitate programming
> language and server independent communication between the interacting
> applications. The ORB of the server side is implemented in C++ using
> The ACE ORB (TAO) version 1.7 (as the folder name on the server
> suggests). I also have several binary pre-compiled sample client
> applications that successfully communicate with the server and the
> corresponding C++ source code.
>
> After facing many problems with the ORB implementation provided by
> Oracle in JDK, I came across your wonderful project.
>
> At this time I managed to connect to the server's Naming Service,
> receive IOR to the desired object and sucessfully execute a void
> method on it. However when I try calling the method that requires
> parameters I get an OperationFailed exception.
>
> Investigation of the possible problem causes lead me to WireShark
> sniffer, which I used to capture GIOP packets. Here is what I can
> conlude by comparing the packets sent/received during the sample C++
> TAO based client applicaton and my Java JacORB based application: 1)
> GIOP requests from Java client application have big-endian byte
> order, while C++ client application uses little-endian byte order. 2)
> Replies to Java and C++ client applications have little-endian byte
> order (actually, this was a problem when using JDK's ORB since it
> could not parse the replies while JacORB does the job). 3) GIOP
> requests Java and C++ applications have a lot in common (there are
> some minor differences), expect for the parameter list of the called
> method. C++ client application contains the name of the method, four
> zero bytes, and parameter list while Java client contains the name of
> the method, four zero bytes, and parameter list with a preceeding
> zero byte.
>
> I conlude that I am facing the following problems: 1) Incorrect byte
> order in reply messages (though JacORB manages to cope with it). 2)
> An extra zero byte in the parameter list in the Java JacORB based
> client implementation.
>
> Since I am quite unexperience with CORBA I would really appreciate
> your advice on whether the extra zero byte in the parameter list is
> indeed the cuase of the exception being raised by the server. If so,
> what is the best place to start looking at in order to fix the
> problem.
>
> Thank you in advance.
>
> Vasyl _______________________________________________
> jacorb-developer maillist  -
> jacorb-developer at lists.spline.inf.fu-berlin.de
> https://lists.spline.inf.fu-berlin.de/mailman/listinfo/jacorb-developer


More information about the jacorb-developer mailing list