dictation-toolbox / Caster

Dragonfly-Based Voice Programming and Accessibility Toolkit
Other
336 stars 122 forks source link

Sikulix xmlrpc client faults with org.xml.sax.SAXException #918

Open LexiconCode opened 2 years ago

LexiconCode commented 2 years ago

Describe the bug A clear and concise description of what the bug is.

Possible Jython problem running scripts in another thread or xerces library needs to include the into the CLASSPATH

References Issues with Jython scripts being used in another thread https://github.com/RaiMan/SikuliX1/issues/426 https://answers.launchpad.net/sikuli/+question/698982

Add xerces library into the CLASSPATH https://stackoverflow.com/questions/20346889/xmlrpc-server-in-jython

Edit: The following does not seem to mitigate the issue. https://www.tutorialspoint.com/xerces/xerces_environment_setup.htm

To Reproduce Steps to reproduce the behavior (be sure to include the exact command phrase you are using):

  1. Set up Sikulix
  2. Launch Castor
  3. See error
Traceback (most recent call last):
  File "D:\Backup\Library\Documents\Code\Caster\castervoice\asynch\sikuli\sikuli_controller.py", line 71, in _retry_server_proxy
    self._start_server_proxy()
  File "D:\Backup\Library\Documents\Code\Caster\castervoice\asynch\sikuli\sikuli_controller.py", line 63, in _start_server_proxy
    self._server_proxy.list_functions()
  File "C:\Users\Main\AppData\Local\Programs\Python\Python38-32\Lib\xmlrpc\client.py", line 1109, in __call__
    return self.__send(self.__name, args)
  File "C:\Users\Main\AppData\Local\Programs\Python\Python38-32\Lib\xmlrpc\client.py", line 1450, in __request
    response = self.__transport.request(
  File "C:\Users\Main\AppData\Local\Programs\Python\Python38-32\Lib\xmlrpc\client.py", line 1153, in request
    return self.single_request(host, handler, request_body, verbose)
  File "C:\Users\Main\AppData\Local\Programs\Python\Python38-32\Lib\xmlrpc\client.py", line 1169, in single_request
    return self.parse_response(resp)
  File "C:\Users\Main\AppData\Local\Programs\Python\Python38-32\Lib\xmlrpc\client.py", line 1341, in parse_response
    return u.close()
  File "C:\Users\Main\AppData\Local\Programs\Python\Python38-32\Lib\xmlrpc\client.py", line 655, in close
    raise Fault(**self._stack[0])
xmlrpc.client.Fault: <Fault 1: "<type 'org.xml.sax.SAXException'>:org.xml.sax.SAXException: SAX2 driver class org.apache.xerces.parsers.SAXParser not found\njava.lang.ClassNotFoundException: org.apache.xerces.parsers.SAXParser">

System:

Possible alternative use Sikulix 2.0.4 or unreleased Sikulix 2.0.6 https://github.com/RaiMan/SikuliX1/releases