<div dir="ltr">Hi all<br><br>I'm trying to serve a pose3D object on Ice.<br><br>At first I developed a simple Ice server with my own slice and work fine, then I have modified the server to serve a pose3D object and now I have the following error: <br><br><font size="1">Traceback (most recent call last):<br> File "/home/robotica/PycharmProjects/SimplePoseClient/PoseClient.py", line 16, in <module><br> data = datos.getPose3DData()<br> File "/usr/lib/python2.7/jderobot/pose3d_ice.py", line 123, in getPose3DData<br> return _M_jderobot.Pose3D._op_getPose3DData.invoke(self, ((), _ctx))<br>UnknownException: exception ::Ice::UnknownException<br>{<br> unknown = exceptions.TypeError: getPose3DData() takes exactly 1 argument (2 given)<br>}</font><br><div><div><div><br></div><div>My server code is:<br><br><font size="1">import sys, traceback, Ice, random<br>import jderobot<br><br>class Pose3DI(jderobot.Pose3D):<br> def getPose3DData(self):<br><br> data = jderobot.Pose3DData()<br> data.x = random.randint(9,19)<br> data.y = random.randint(9,19)<br> data.z = random.randint(9,19)<br> data.q0 = random.randint(0,9)<br> data.q1= random.randint(0,9)<br> data.q2= random.randint(0,9)<br> data.q3= random.randint(0,9)<br><br> return data<br><br> def setPose3DData(self,pose):<br> print pose<br><br>status = 0<br>ic = None<br>try:<br> ic = Ice.initialize(sys.argv)<br> adapter = ic.createObjectAdapterWithEndpoints("SimpleRandomPoseAdapter", "default -p 10000")<br> object = Pose3DI()<br> print object.getPose3DData()<br> adapter.add(object, ic.stringToIdentity("SimpleRandomPose"))<br> adapter.activate()<br> ic.waitForShutdown()<br>except:<br> traceback.print_exc()<br> status = 1<br><br>if ic:<br> # Clean up<br> try:<br> ic.destroy()<br> except:<br> traceback.print_exc()<br> status = 1<br><br>sys.exit(status)</font><br><br></div><div>And my client server code is:<br><br><font size="1">import sys, traceback, Ice<br>import jderobot<br><br>status = 0<br>ic = None<br>try:<br> ic = Ice.initialize(sys.argv)<br> base = ic.stringToProxy("SimpleRandomPose:default -p 10000")<br> datos = jderobot.Pose3DPrx.checkedCast(base)<br> print datos<br> if not datos:<br> raise RuntimeError("Invalid proxy")<br> <br> data = datos.getPose3DData()<br> print data<br>except:<br> traceback.print_exc()<br> status = 1<br><br>if ic:<br> # Clean up<br> try:<br> ic.destroy()<br> except:<br> traceback.print_exc()<br> status = 1<br><br>sys.exit(status)</font><br><br></div><div>Thanks for all<br></div><div>-- <br><div class="gmail_signature"><div style="margin-left:40px;text-align:right"><i><b>Jose Antonio Fernandez Casillas</b></i><br></div><br></div>
</div></div></div></div>