Hi all,<br><br>I&#39;ve got a problem with a python reserved word in an idl file with omnyORBpy 2.6.1.<br>This is the idl file:<br><div style="margin-left: 40px;">interface Printer<br>{<br>&nbsp; void print (in string message);
<br>};<br></div>I generate stub and skeleton by:<br><div style="margin-left: 40px;">omniidl -bpython Printer.idl<br></div><br>And I make the Server like this:<br><div style="margin-left: 40px;">#!/usr/bin/env python<br><br>
import CORBA, PortableServer, CosNaming<br>import _GlobalIDL__POA<br>import sys<br><br>class Printer_impl (_GlobalIDL__POA.Printer):<br>&nbsp;&nbsp;&nbsp; def __init__ (self, name=None):<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; self.printerName = name or &#39;DefaultName&#39;
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print &quot;++ printer %s is created&quot; % self.printerName<br><br>&nbsp;&nbsp;&nbsp; def _print (self, msg):<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print &quot;** printer %s prints [%s]&quot; % (self.printerName, msg)<br><br>def main (argv):<br>&nbsp;&nbsp;&nbsp; printerName = argv[1]
<br>&nbsp;&nbsp;&nbsp; orb = CORBA.ORB_init (argv)<br>&nbsp;&nbsp;&nbsp; poa = orb.resolve_initial_references (&quot;RootPOA&quot;)<br>&nbsp;&nbsp;&nbsp; printer = Printer_impl (printerName)<br>&nbsp;&nbsp;&nbsp; oprinter = printer._this ()<br>&nbsp;&nbsp;&nbsp; nc = orb.resolve_initial_references
 (&quot;NameService&quot;)._narrow (CosNaming.NamingContextExt)<br>&nbsp;&nbsp;&nbsp; name = nc.to_name (printerName)<br>&nbsp;&nbsp;&nbsp; nc.bind (name, oprinter)<br>&nbsp;&nbsp;&nbsp; poa._get_the_POAManager ().activate ()<br>&nbsp;&nbsp;&nbsp; orb.run ()<br><br>if __name__ == &#39;__main__&#39;:
<br>&nbsp;&nbsp;&nbsp; import sys<br>&nbsp;&nbsp;&nbsp; main (sys.argv)<br></div><br>And the Client like this:<br><div style="margin-left: 40px;">import CORBA<br>import sys<br><br>import CosNaming<br>import _GlobalIDL<br><br>class Client:<br>&nbsp;&nbsp;&nbsp; # Les decorateur de methodes sont inexistant en python 
2.3<br>&nbsp;&nbsp;&nbsp; # omniORB n&#39;est pas installe pour python 2.4<br>&nbsp;&nbsp;&nbsp; #@staticmethod<br>&nbsp;&nbsp;&nbsp; def main (argv):<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; orb = CORBA.ORB_init(argv)<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nc = orb.resolve_initial_references(&quot;NameService&quot;)._narrow(
CosNaming.NamingContextExt)<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for i in range(1,int(argv[2])):<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printer = nc.resolve_str (argv[1])._narrow(_GlobalIDL.Printer)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printer._print (&quot;this is a message from python&quot;)
<br>&nbsp;&nbsp;&nbsp; main=staticmethod(main)<br><br>if __name__ == &quot;__main__&quot;:<br>&nbsp;&nbsp;&nbsp; Client.main (sys.argv)<br></div><br>And I have an error when I start the client and call the method (after the naming service) :<br><div style="margin-left: 40px;">
Traceback (most recent call last):<br>&nbsp; File &quot;Client.py&quot;, line 24, in ?<br>&nbsp;&nbsp;&nbsp; Client.main (sys.argv)<br>&nbsp; File &quot;Client.py&quot;, line 20, in main<br>&nbsp;&nbsp;&nbsp; printer._print (&quot;this is a message from python&quot;)
<br>&nbsp; File &quot;/home/deveil/tmp/tst/CORBA/Printer_idl.py&quot;, line 46, in _print<br>&nbsp;&nbsp;&nbsp; return _omnipy.invoke(self, &quot;print&quot;, _0__GlobalIDL.Printer._d__print, args)<br>omniORB.CORBA.BAD_OPERATION: Minor: BAD_OPERATION_UnRecognisedOperationName, COMPLETED_NO.
<br></div><br>After a quick search, I found that the real method call on server side is not _print but print...<br>And if I change the definition on the server to print, I have a python syntax error:<br><div style="margin-left: 40px;">
&nbsp; File &quot;Server.py&quot;, line 12<br>&nbsp;&nbsp;&nbsp; def print (self, msg):<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ^<br>SyntaxError: invalid syntax<br></div><br>Is this a bug ? (the print call in place of _print)<br><br>Thx for all,<br>_______________________
<br>&nbsp;&nbsp;&nbsp; Jimmy<br>