#46231
Federico Cristina
Superadministrador

Buenas,

Aporto un caso en donde se me presentó este problema, aunque estimo que el error puede responder a varios orígenes distintos.

En mi equipo (Ubuntu 16.04) tengo python 2.7 en lugar de 2.5. El error se presenta al interactuar con el WS de AFIP, pero el entrada.txt se genera correctamente. Por lo tanto, ejecuté manualmente desde terminal y revisé posteriormente el log:

# python wsfev1.py –archivo –debug > $RUTAWSFE/wsfev1.log 2> $RUTAWSFE/wsfev1.log
# cat wsfev1.log

Traceback (most recent call last):
File “/home/test/pyafipws_test/wsfev1.py”, line 1274, in <module>
main()
File “/home/test/pyafipws_test/wsfev1.py”, line 1048, in main
cbte_nro = long(wsfev1.CompUltimoAutorizado(tipo_cbte, punto_vta) or 0)
File “/home/test/pyafipws_test/wsfev1.py”, line 62, in capturar_errores_wrapper
return func(self, *args, **kwargs)
File “/home/test/pyafipws_test/wsfev1.py”, line 382, in CompUltimoAutorizado
CbteTipo=tipo_cbte,
File “/usr/local/lib/python2.7/dist-packages/pysimplesoap/client.py”, line 274, in <lambda>
return lambda self=self, *args, **kwargs: self.wsdl_call(attr,*args,**kwargs)
File “/usr/local/lib/python2.7/dist-packages/pysimplesoap/client.py”, line 387, in wsdl_call
response = self.call(method, *params)
File “/usr/local/lib/python2.7/dist-packages/pysimplesoap/client.py”, line 297, in call
self.xml_response = self.send(method, self.xml_request)
File “/usr/local/lib/python2.7/dist-packages/pysimplesoap/client.py”, line 322, in send
location,”POST”, body=xml, headers=headers )
File “/usr/lib/python2.7/dist-packages/httplib2/__init__.py”, line 1607, in request
(response, content) = self._request(conn, authority, uri, request_uri, method, body, headers, redirections, cachekey)
File “/usr/lib/python2.7/dist-packages/httplib2/__init__.py”, line 1349, in _request
(response, content) = self._conn_request(conn, request_uri, method, body, headers)
File “/usr/lib/python2.7/dist-packages/httplib2/__init__.py”, line 1271, in _conn_request
conn.connect()
File “/usr/lib/python2.7/dist-packages/httplib2/__init__.py”, line 1035, in connect
self.disable_ssl_certificate_validation, self.ca_certs)
File “/usr/lib/python2.7/dist-packages/httplib2/__init__.py”, line 80, in _ssl_wrap_socket
cert_reqs=cert_reqs, ca_certs=ca_certs)
File “/usr/lib/python2.7/ssl.py”, line 933, in wrap_socket
ciphers=ciphers)
File “/usr/lib/python2.7/ssl.py”, line 601, in __init__
self.do_handshake()
File “/usr/lib/python2.7/ssl.py”, line 830, in do_handshake
self._sslobj.do_handshake()
ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:590)
<type ‘long’>, u’CbteDesde’: <type ‘long’>, u’CbteHasta’: <type ‘long’>, u’CbteFch’: <type ‘unicode’>, u’Resultado’: <type ‘unicode’>, u’Observaciones’: [*{u’Obs’: *{u’Code’: <type ‘int’>, u’Msg’: <type ‘unicode’>}*}*], u’CAE’: <type ‘unicode’>, u’CAEFchVto’: <type ‘unicode’>}*}*], u’Events’: [*{u’Evt’: *{u’Code’: <type ‘int’>, u’Msg’: <type ‘unicode’>}*}*], u’Errors’: [*{u’Err’: *{u’Code’: <type ‘int’>, u’Msg’: <type ‘unicode’>}*}*]}*}**:

Revisando el ssl.py noté que hay varios protocolos SSL. Probé a cambiar las ocurrencias de PROTOCOL_SSLv23 por PROTOCOL_TLSv1 en dicho archivo y salió andando.