Hi All,<br><br>I am trying to communicate between a client and server located in different address spaces using the CORBA Naming service. Since I am a newbie to omniORB and CORBA, I tried the example given in the page <a href="http://omniorb.sourceforge.net/omnipy2/omniORBpy/omniORBpy002.html">http://omniorb.sourceforge.net/omnipy2/omniORBpy/omniORBpy002.html</a> . The IDL definition of this example goes like this:<br>
<pre>module Example {<br> interface Echo {<br> string echoString(in string mesg);<br> };<br>};<br></pre>The definition of echoString is given by,<br><pre>class Echo_i (Example__POA.Echo):<br> def echoString(self, mesg):<br>
print "echoString() called with message:", mesg<br> return mesg<br></pre>This example works just fine without any modifications. However, if i try to change the parameters of the method 'echoString' from string to a sequence, I get CORBA_BAD_PARAM error. <br>
Here is the new IDL and piece of client code where i invoke the method echoString.<br>module Example {<br> typedef sequence<string> sample;<br> interface Echo {<br> void echoString(inout sample mesg);<br> };<br>
};<br>.. client code:<br>message = ["hello"] #python list<br>result = eo.echoString(message)<br>print "I said '%s'. The object said '%s'." % (message,result)<br><br>I referred to the CORBA-Python mapping document which says that list and tuples are the equivalent objects of CORBA sequence. However, when I run the server and client, it throws the error omniORB.CORBA.BAD_PARAM: CORBA.BAD_PARAM(omniORB.BAD_PARAM_WrongPythonType, CORBA.COMPLETED_MAYBE). <br>
<br>Could anyone please help me in getting rid of this error? I would like to know how to pass python list objects between CORBA client and server through omniORB.<br><br>Thank you,<br>Deepan<br><br>