<div dir="ltr">Hi all<br><br>I&#39;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 &quot;/home/robotica/PycharmProjects/SimplePoseClient/PoseClient.py&quot;, line 16, in &lt;module&gt;<br>    data = datos.getPose3DData()<br>  File &quot;/usr/lib/python2.7/jderobot/pose3d_ice.py&quot;, 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(&quot;SimpleRandomPoseAdapter&quot;, &quot;default -p 10000&quot;)<br>    object = Pose3DI()<br>    print object.getPose3DData()<br>    adapter.add(object, ic.stringToIdentity(&quot;SimpleRandomPose&quot;))<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(&quot;SimpleRandomPose:default -p 10000&quot;)<br>    datos = jderobot.Pose3DPrx.checkedCast(base)<br>    print datos<br>    if not datos:<br>        raise RuntimeError(&quot;Invalid proxy&quot;)<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>