<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Remote call hangs</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2900.3059" name=GENERATOR></HEAD>
<BODY>
<DIV><SPAN class=638471909-16032007></SPAN><FONT face=Arial><FONT
color=#0000ff><FONT size=2>Hi Wernke,</FONT></FONT></FONT></DIV>
<DIV><FONT face=Arial><FONT color=#0000ff><FONT
size=2></FONT></FONT></FONT> </DIV>
<DIV><SPAN class=638471909-16032007><FONT face=Arial color=#0000ff size=2>in
fact the IDL files on both sides were not
identical.</FONT></SPAN></DIV>
<DIV><SPAN class=638471909-16032007><FONT face=Arial color=#0000ff size=2>Now
it's working.</FONT></SPAN></DIV>
<DIV><SPAN class=638471909-16032007><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=638471909-16032007><FONT face=Arial color=#0000ff size=2>The
reason why I thought that the remote call hangs was, </FONT></SPAN></DIV>
<DIV><SPAN class=638471909-16032007><FONT face=Arial color=#0000ff size=2>that
the exception has been catched but not evaluated </FONT></SPAN></DIV>
<DIV><SPAN class=638471909-16032007><FONT face=Arial color=#0000ff size=2>i.e.
there was no trace output.</FONT></SPAN></DIV>
<DIV><SPAN class=638471909-16032007><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=638471909-16032007><FONT face=Arial color=#0000ff size=2>Thank
you very much !</FONT></SPAN></DIV>
<DIV><SPAN class=638471909-16032007><FONT face=Arial color=#0000ff
size=2>Stefan</FONT></SPAN></DIV>
<DIV><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN
class=638471909-16032007></SPAN></FONT></FONT></FONT> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT><FONT face=Arial color=#0000ff
size=2></FONT><BR></DIV>
<DIV class=OutlookMessageHeader lang=de dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>Von:</B> Wernke zur Borg
[mailto:wernke.zur.borg@vega.de] <BR><B>Gesendet:</B> Donnerstag, 15. März 2007
14:50<BR><B>An:</B> Daschner, Stefan<BR><B>Cc:</B>
omniorb-list@omniorb-support.com<BR><B>Betreff:</B> RE: [omniORB] Remote call
hangs<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff
size=2></FONT> </DIV>
<BLOCKQUOTE
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
<DIV></DIV><!-- Converted from text/rtf format -->
<P><SPAN lang=de><FONT face=Arial size=2>Hi,</FONT></SPAN> </P>
<P><SPAN lang=de><FONT face=Arial size=2>I have a server written in python and
running on Linux. The C++ client (running on Linux too) is doing
a</FONT></SPAN> <BR><SPAN lang=de><FONT face=Arial size=2>remote call which
transfers an object to the server. Normally this is working, but in one
special case</FONT></SPAN> <BR><SPAN lang=de><FONT face=Arial size=2>resp. for
one special object the remote call on client side hangs and the corresponding
method on server side is not</FONT></SPAN> <BR><SPAN lang=de><FONT face=Arial
size=2>called. In the omniORB trace I can see that in this case the server
sends the following giop message to the client</FONT></SPAN> <BR><SPAN
lang=de><FONT face=Arial size=2>after receiving the giop message representing
the remote call:</FONT></SPAN> </P>
<P><SPAN lang=de><FONT face="Arial monospaced for SAP" size=2>omniORB:
sendChunk: to giop:tcp:127.0.0.1:13302 68 bytes</FONT></SPAN> <BR><SPAN
lang=de><FONT face="Arial monospaced for SAP" size=2>omniORB:</FONT></SPAN>
<BR><SPAN lang=de><FONT face="Arial monospaced for SAP" size=2>4749 4f50 0102
0101 3800 0000 0400 0000 GIOP....8.......</FONT></SPAN> <BR><SPAN
lang=de><FONT face="Arial monospaced for SAP" size=2>0200 0000 0000 0000 1e00
0000 4944 4c3a ............IDL:</FONT></SPAN> <BR><SPAN lang=de><FONT
face="Arial monospaced for SAP" size=2>6f6d 672e 6f72 672f 434f 5242 412f 4d41
omg.org/CORBA/MA</FONT></SPAN> <BR><SPAN lang=de><FONT
face="Arial monospaced for SAP" size=2>5253 4841 4c3a 312e 3000 4540 1600 5441
RSHAL:1.0.E@..TA</FONT></SPAN> <BR><SPAN lang=de><FONT
face="Arial monospaced for SAP" size=2>0100 0000 </FONT></SPAN></P>
<P><SPAN lang=de><FONT face=Arial size=2>In the working case the server sends
the following GIOP message:</FONT></SPAN> </P>
<P><SPAN lang=de><FONT face="Arial monospaced for SAP" size=2>omniORB:
sendChunk: to giop:tcp:127.0.0.1:18199 28 bytes</FONT></SPAN> <BR><SPAN
lang=de><FONT face="Arial monospaced for SAP" size=2>omniORB:</FONT></SPAN>
<BR><SPAN lang=de><FONT face="Arial monospaced for SAP" size=2>4749 4f50 0102
0101 1000 0000 0400 0000 GIOP............</FONT></SPAN> <BR><SPAN
lang=de><FONT face="Arial monospaced for SAP" size=2>0000 0000 0000 0000 0000
0000 ............
</FONT></SPAN></P>
<P><SPAN lang=de><FONT face=Arial size=2>Does anybody know the reason for this
problem ?</FONT></SPAN> <BR><SPAN lang=de><FONT face=Arial size=2>How to solve
it ?</FONT></SPAN> </P>
<P><SPAN lang=de><FONT face=Arial size=2>I'm using omniORBpy-3.0-rc1 on server
side and omniORB-4.1.0 on client side.</FONT></SPAN> </P></BLOCKQUOTE>
<DIV><SPAN class=648164713-15032007><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=648164713-15032007><FONT face=Arial color=#0000ff size=2>Hi
Stefan, </FONT></SPAN></DIV>
<DIV><SPAN class=648164713-15032007><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=648164713-15032007><FONT face=Arial color=#0000ff size=2>I see
two possible reasons:</FONT></SPAN></DIV>
<DIV><SPAN class=648164713-15032007><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=648164713-15032007><FONT face=Arial color=#0000ff size=2>1. You
are not using the same version of your IDL file on both
sides;</FONT></SPAN></DIV>
<DIV><SPAN class=648164713-15032007><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=648164713-15032007><FONT face=Arial color=#0000ff size=2>2. You
encode the object at the client side in a way that is invalid w.r.t. the IDL
used at the server side.</FONT></SPAN></DIV>
<DIV><SPAN class=648164713-15032007><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=648164713-15032007><FONT face=Arial color=#0000ff size=2>In
both cases the server would raise a marshal exception, which is what you see in
the response.</FONT></SPAN></DIV>
<DIV><SPAN class=648164713-15032007><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=648164713-15032007><FONT face=Arial color=#0000ff size=2>It
would be helpful if you could post the IDL snippet that corresponds to the
method and the C++ code that is calling the method.</FONT></SPAN></DIV>
<DIV><SPAN class=648164713-15032007><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=648164713-15032007><FONT face=Arial color=#0000ff
size=2>Furthermore, are you sure you have a try{} catch() block around the
method call in the client? Do you evaluate the exception if it
happens?</FONT></SPAN></DIV>
<DIV><SPAN class=648164713-15032007><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=648164713-15032007><FONT face=Arial color=#0000ff
size=2>Regards, Wernke</FONT></SPAN></DIV>
<DIV><SPAN class=648164713-15032007><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV></BODY></HTML>