1
votes

I have a C# XML-RPC code and I want to use it from Python, is there a capability to implement that?

this is my code in C# 1- dll file

public class Search:MarshalByRefObject
 {
     public string GetAllFiles()
     {
         return ("hhhhhhiiiiiiiiiii");
     }

 }

2- to register method

private void button1_Click(object sender, EventArgs e)
        {
            ChannelServices.RegisterChannel(new TcpChannel(6600));
            RemotingConfiguration.RegisterWellKnownServiceType(
            Type.GetType("Search,Search"), "MySearchServer", WellKnownObjectMode.SingleCall);
        }

in python

 s = ServerProxy('http://localhost:6600')  
  print(s.GetAllFiles())

when I execute it, I get the following error

Traceback (most recent call last):
File "D:\RemotingF\rpc1.py", line 17, in Listen print(s.GetAllFiles()) File "C:\Python27\lib\xmlrpclib.py", line 1224, in call return self._send(self._name, args) File "C:\Python27\lib\xmlrpclib.py", line 1570, in _request verbose=self._verbose File "C:\Python27\lib\xmlrpclib.py", line 1264, in request return self.single_request(host, handler, request_body, verbose) File "C:\Python27\lib\xmlrpclib.py", line 1297, in single_request return self.parse_response(response) File "C:\Python27\lib\xmlrpclib.py", line 1462, in parse_response p.feed(data) File "C:\Python27\lib\xmlrpclib.py", line 557, in feed self._parser.Parse(data, 0) xml.parsers.expat.ExpatError: not well-formed (invalid token): line 1, column 4

anyone help me thanks

1

1 Answers

0
votes

Are you sure your C# code is indeed XML-RPC server, not remoting ? From the Python error it seems that the server's response is not a valid XML.