[jacorb-developer] TAO 1.7 Compatibility Issue

Nick Cross jacorb at goots.org
Wed Jun 20 13:56:38 CEST 2012


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