Ticket #1140 (closed defect: fixed)

Opened 7 years ago

Last modified 7 years ago

Clearinghouse XMLRPC interface cannot be reached

Reported by: leonwlaw Owned by: gpress
Priority: critical Milestone:
Component: seattle clearinghouse Version: 0.1t
Severity: Medium Keywords:
Cc: justinc, gpress, monzum Blocking:
Blocked By:

Description

I can't seem to be able to connect to the new clearinghouse's XMLRPC interface. I assume that this is the correct URL?  https://seattleclearinghouse.poly.edu/xmlrpc/

Connecting via a web browser works fine. However, trying to access it via the API does not work. When insecure SSL is not allowed, I get a certificate verify failed error from M2Crypto. When it is allowed, I get a ProtocolError 403 Forbidden, thrown by the xmlrpc parser.

Python 2.6 (r26:66721, Oct  2 2008, 11:35:03) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from seattleclearinghouse_xmlrpc import *
>>> c = SeattleClearinghouseClient('leonwlaw', api_key='...', xmlrpc_url='https://seattleclearinghouse.poly.edu/xmlrpc/', allow_ssl_insecure=False)
>>> c.get_account_info()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\Destri\Code\Dependencies\SeattleRepo\seattlegeni\xmlrpc_clients\seattleclearinghouse_xmlrpc.py", line 418, in get_account_info
    return self._do_call(self.proxy.get_account_info)
  File "C:\Users\Destri\Code\Dependencies\SeattleRepo\seattlegeni\xmlrpc_clients\seattleclearinghouse_xmlrpc.py", line 167, in _do_call
    return function(self.auth, *args)
  File "C:\Python26\lib\xmlrpclib.py", line 1199, in __call__
    return self.__send(self.__name, args)
  File "C:\Python26\lib\xmlrpclib.py", line 1489, in __request
    verbose=self.__verbose
  File "C:\Users\Destri\Code\Dependencies\SeattleRepo\seattlegeni\xmlrpc_clients\seattleclearinghouse_xmlrpc.py", line 529, in request
    request_body, verbose)
  File "C:\Python26\lib\site-packages\M2Crypto\m2xmlrpclib.py", line 49, in request
    h.endheaders()
  File "C:\Python26\lib\httplib.py", line 868, in endheaders
    self._send_output()
  File "C:\Python26\lib\httplib.py", line 740, in _send_output
    self.send(msg)
  File "C:\Python26\lib\httplib.py", line 699, in send
    self.connect()
  File "C:\Python26\lib\site-packages\M2Crypto\httpslib.py", line 50, in connect
    self.sock.connect((self.host, self.port))
  File "C:\Python26\lib\site-packages\M2Crypto\SSL\Connection.py", line 179, in connect
    ret = self.connect_ssl()
  File "C:\Python26\lib\site-packages\M2Crypto\SSL\Connection.py", line 172, in connect_ssl
    return m2.ssl_connect(self.ssl)
M2Crypto.SSL.SSLError: certificate verify failed

>>> c = SeattleClearinghouseClient('leonwlaw', api_key='...', xmlrpc_url='https://seattleclearinghouse.poly.edu/xmlrpc/', allow_ssl_insecure=True)
>>> c.get_account_info()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\Destri\Code\Dependencies\SeattleRepo\seattlegeni\xmlrpc_clients\seattleclearinghouse_xmlrpc.py", line 418, in get_account_info
    return self._do_call(self.proxy.get_account_info)
  File "C:\Users\Destri\Code\Dependencies\SeattleRepo\seattlegeni\xmlrpc_clients\seattleclearinghouse_xmlrpc.py", line 167, in _do_call
    return function(self.auth, *args)
  File "C:\Python26\lib\xmlrpclib.py", line 1199, in __call__
    return self.__send(self.__name, args)
  File "C:\Python26\lib\xmlrpclib.py", line 1489, in __request
    verbose=self.__verbose
  File "C:\Python26\lib\xmlrpclib.py", line 1243, in request
    headers
xmlrpclib.ProtocolError: <ProtocolError for seattleclearinghouse.poly.edu/xmlrpc/: 403 Forbidden>
>>>

Change History

Changed 7 years ago by justinc

  • owner changed from monzum to gpress
  • status changed from new to assigned

The integration tests for this also seem to be failing. Gaetano: can you take a look?

Changed 7 years ago by gpress

The 403 error is fixed in r6061. This might also fix the "M2Crypto.SSL.SSLError: certificate verify failed" but is untested.

Changed 7 years ago by leonwlaw

The "SSLError: Certificate verify failed" error still persists, unfortunately.

Changed 7 years ago by gpress

  • status changed from assigned to closed
  • resolution set to fixed

Added SSLCertificateChainFile to production machine enabling full support in all browsers. This file is publicly available from  here. This fixes the "M2Crypto.SSL.SSLError: certificate verify failed" error.

Note: See TracTickets for help on using tickets.