[LDTP-Dev] RPC error when trying to connect to cobra-winldtp

Thomas Andrews tandrews at grok.co.za
Tue Jan 14 01:15:39 PST 2014


Thanks Nadappan,

I think the firewall is not the problem because it makes no difference 
if I disable the Windows firewall completely.

Can it be that ldtp version 2.3.1-1 (on the Linux PC) is incompatible 
with version 4.0.0 of CobraWinLDTP ?

When I set LDTP_DEBUG=1 on the Windows machine, I can see that there is 
communication between the two machines as soon as I execute "from ldtp 
import *" on python on the linux PC:

8<----------8<----------8<----------8<----------8<----------8<----------8<----------8<----------8<----------
C:\Program Files\VMware\CobraWinLDTP>CobraWinLDTP.exe

Command Prompt - CobraWinLDTP.exe
Listening on all interface
Total Commander 7.50a - Thomas Andrews
Waiting for clients
Lister - [c:\Program Files\VMware\CobraWinLDTP\README.txt]
Command Prompt
Program Manager

Command Prompt - CobraWinLDTP.exe
Total Commander 7.50a - Thomas Andrews
Lister - [c:\Program Files\VMware\CobraWinLDTP\README.txt]
Command Prompt
Program Manager
Command Prompt
Waiting for clients
Processing request
Waiting for clients
Processing request
Waiting for clients
Processing request
Waiting for clients
Processing request
Waiting for clients
Processing request
Waiting for clients
Processing request
Waiting for clients
Processing request
Waiting for clients
etc.... many more of these...
8<----------8<----------8<----------8<----------8<----------8<----------8<----------8<----------8<----------

This is what I see on the Linux machine:

8<----------8<----------8<----------8<----------8<----------8<----------8<----------8<----------8<----------
$ export LDTP_SERVER_ADDR=xp-pc
$ export LDTP_DEBUG=1
$ python
Python 2.7.3 (default, Jan  2 2013, 13:56:14)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
 >>> from ldtp import *
 >>> getapplist()
Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
   File "/usr/lib/python2.7/dist-packages/ldtp/client.py", line 70, in 
__call__
     return self.__send(self.__name, args)
   File "/usr/lib/python2.7/xmlrpclib.py", line 1578, in __request
     verbose=self.__verbose
   File "/usr/lib/python2.7/dist-packages/ldtp/client.py", line 187, in 
request
     raise e
xmlrpclib.Fault: <Fault 0: 'Request contains too many param elements 
based on method signature.'>
 >>>
8<----------8<----------8<----------8<----------8<----------8<----------8<----------8<----------8<----------

By the way, I have installed python on the server (Windows machine) and 
I can execute the same test locally on that machine successfully:

8<----------8<----------8<----------8<----------8<----------8<----------8<----------8<----------8<----------
Python 2.7.6 (default, Nov 10 2013, 19:24:18) [MSC v.1500 32 bit 
(Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
 >>> from ldtp import *
 >>> getapplist()
['explorer', 'cmd', 'TOTALCMD', 'explorer', 'pythonw', 'taskmgr', 
'gvim', 'sh']
 >>>
8<----------8<----------8<----------8<----------8<----------8<----------8<----------8<----------8<----------

So it looks to me like it is just an incompatibility between ldtp and 
cobrawinldtp. Can this be?

Many thanks,
Thomas

On 01/13/2014 09:55 PM, Nagappan Alagappan wrote:
> Hi Thomas,
>
> You can set the following environment variables on Windows box:
>
> set LDTP_DEBUG=1 # If you need debug output printed on console
> set LDTP_LISTEN_ALL_INTERFACE=1 # If you need to listen other than 
> localhost, default is listen only on localhost
>
> On Linux side:
>
> export LDTP_DEBUG=1
>
> I tried your scenario after setting above environment variables. More 
> over, have enabled inbound firewall rule on my windows box to accept 
> request on port 4118. Everything worked as expected.
>
> Side note: I tried LDTP git head on Ubuntu 13.10.
>
> Thanks
> Nagappan
>
>
> On Mon, Jan 13, 2014 at 10:43 AM, Thomas Andrews <tandrews at grok.co.za 
> <mailto:tandrews at grok.co.za>> wrote:
>
>     Hi,
>
>     I get the following error when I try to connect from a linux
>     machine to a windows machine:
>
>     xmlrpclib.Fault: <Fault 0: 'Request contains too many param
>     elements based on method signature.'>
>
>
>     On the server (windows XP machine called xp-pc) I am doing this:
>
>         CobraWinLDTP.exe
>
>     On the client (debian linux machine) I am doing this in a bash shell:
>
>         export LDTP_SERVER_ADDR=xp-pc
>     then:
>         python
>         >>> from ldtp import *
>         >>> getapplist()
>
>
>     The client can connect to port 4118 on the server no problem, but
>     the server appears to somehow not understand the request from the
>     client. I downloaded a copy of VisualUIAVerify, and it can see the
>     windows programs running no problem.
>
>     I used wireshark to capture the RPC transaction from TCP/IP and
>     this is what I got:
>
>     8<----------8<----------8<----------8<----------8<----------8<----------8<----------8<----------8<----------
>     >From the client (Linux PC):
>
>     POST /RPC2 HTTP/1.1
>     Host: xp-vm:4118
>     Accept-Encoding: gzip
>     User-Agent: xmlrpclib.py/1.0.1 <http://xmlrpclib.py/1.0.1> (by
>     www.pythonware.com <http://www.pythonware.com>)
>     Content-Type: text/xml
>     Content-Length: 155
>     <?xml version='1.0'?>
>     <methodCall>
>     <methodName>getapplist</methodName>
>     <params>
>     <param>
>     <value><struct>
>     </struct></value>
>     </param>
>     </params>
>     </methodCall>
>
>     Then response from the server (windows PC):
>
>     HTTP/1.1 200 OK
>     Content-Length: 485
>     Content-Type: text/xml
>     Server: Microsoft-HTTPAPI/1.0
>     Date: Mon, 13 Jan 2014 16:41:16 GMT
>     <?xml version="1.0"?>
>     <methodResponse>
>       <fault>
>         <value>
>           <struct>
>             <member>
>               <name>faultCode</name>
>               <value>
>                 <i4>0</i4>
>               </value>
>             </member>
>             <member>
>               <name>faultString</name>
>               <value>
>                 <string>Request contains too many param elements based
>     on method signature.</string>
>               </value>
>             </member>
>           </struct>
>         </value>
>       </fault>
>     </methodResponse>
>     8<----------8<----------8<----------8<----------8<----------8<----------8<----------8<----------8<----------
>
>     So it looks to me like the RPC communication is fine.
>     I installed Cobra-winldtp using CobraWinLDTP-4.0.0.msi from
>     http://code.google.com/p/cobra-winldtp/
>     On linux I have LDTP version  2.3.1-1 installed (Debian).
>
>     Can anyone help, please?
>
>     Many thanks,
>     Thomas
>     _______________________________________________
>     LDTP-dev mailing list
>     LDTP-dev at lists.freedesktop.org <mailto:LDTP-dev at lists.freedesktop.org>
>     http://lists.freedesktop.org/mailman/listinfo/ldtp-dev
>
>
>
>
> -- 
> Cross platform GUI testing
> Linux Desktop (GUI Application) Testing Project - 
> http://ldtp.freedesktop.org
> Cobra - Windows GUI Automation tool - https://github.com/ldtp/cobra
> ATOMac - Mac GUI Automation tool - https://github.com/pyatom/pyatom
> http://nagappanal.blogspot.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/ldtp-dev/attachments/20140114/8386b46e/attachment.html>


More information about the LDTP-dev mailing list