Comments (14)
Pudiste resolver ese error? Porque me esta dando el mismo error
from pysimplesoap.
Alguna correción a este problema?
from pysimplesoap.
Hola @FranTobar @crece365, por el momento, el código de pysimplesoap no ha sido corregido y la versión con la que se ha implementado de httplib2 es la 0.9.2 (la cual todavía genera ese tipo de excepciones).
https://pypi.org/project/httplib2/0.9.2
from pysimplesoap.
from pysimplesoap.
Hola! No puedo hablar por odoo. Desde hace años venimos utilizando pysimplesoap y pyafipws con la localización de Tryton (https://github.com/tryton-ar)
No entiendo que tiene que ver cambiar de versión de ubuntu. Las versiones de pyafipws y pysimplesoap con los que trabajamos son las ramas de python3.
Te dejo un enlace al respecto:
https://github.com/tryton-ar/account_invoice_ar/blob/master/setup.py#L68
Igualmente, si te esta dando ese error, es porque tenes un problema de conexión entre tu servidor y la afip. El problema acá es que pysimplesoap no lo esta manejando correctamente porque la versión de httplib2 con la que tenes instalado tu servidor no la conoce. Como te dije, la versión de httplib2 que necesitas es la 0.9.2
from pysimplesoap.
Estoy teniendo el mismo problema y no es por la versión de httplib2 (tengo la recomendada, 0.9.2), sino porque en la implementación de Python 3 de httplib2 0.9.2 no se define esa excepción [0]
Creo que es en esta linea de pysimplesoap [1] se captura esa excepción, por ende, si estás usando un entorno con Python 3, por más que tengas httplib2 0.9.2, se va a seguir reproduciendo este bug.
Python 2 ya está deprecado y en las versiones más recientes ya no se están distribuyendo esos paquetes. Para Ubuntu 20.04, por ejemplo, la versión default de Python es py37.
Estoy viendo como resolver esto, si puedo arreglarlo les envio un pull request :)
[0] https://github.com/httplib2/httplib2/blob/0.9.2/python2/httplib2test.py#L530
[1] https://github.com/pysimplesoap/pysimplesoap/blob/stable_py3k/pysimplesoap/transport.py#L118
from pysimplesoap.
@vkmc hace unas semanas exactamente migré un modulo de facturación basado en pyafipws a py3 y pasé por este mismo problema. En py2 tenía andando todo con httplib2==0.9.2
Ahora, en este repo no hay archivo de requirements, pero en pyafipws dentro de la rama py3k
figura httplib2>=0.12.0
, por lo que lo de la versión recomendada 0.9.2 no se si sigue siendo como decís. 🤔
Particularmente estoy usando httplib2==0.18.1
y el error que se menciona acá lo corregí con un monkey patch que no pienso ni mencionar 🤣 para salir del paso y poder poner en producción porque había urgencia.
Para no dejarlo así me puse hoy justamente a trabajar en un PR sobre la rama stable_py3k
, corregí de paso algunos tests rotos con errores de encoding derivados de los cambios en py3 y quería saber si hiciste algunos avances con esto, como para no duplicar esfuerzos.
from pysimplesoap.
No armé un PR para no ensuciar este repositorio con basura que a lo mejor no sirve, pero en principio con este simple patch se resolvería: cperezabo@cab60a8
Comparando testSslCertValidation
:
- Py2: https://github.com/httplib2/httplib2/blob/0.9.2/python2/httplib2test.py#L514
- Py3: https://github.com/httplib2/httplib2/blob/0.9.2/python3/httplib2test.py#L523
Encontramos que se modificó el set de excepciones y por ende fletaron a httplib2.SSLHandshakeError
🤣 dejando:
Python2 | Python3 | Razón |
---|---|---|
ssl.SSLError | IOError | Archivo CA cert inexistente |
httplib2.SSLHandshakeError | ssl.SSLError | Archivo CA cert invalido |
Así que cambiando httplib2.SSLHandshakeError
por IOError
se resuelve la cuestión.
from pysimplesoap.
@lukio estás seguro de que eliminando SSLHandshakeError
se asegura el correcto funcionamiento? Porque en base a lo que publicaste en lukio@b3c1ce8 y a la tabla que yo presenté, solo estas cubriendo una de las dos situaciones de error que se dan. Me da la impresión de que es inconsistente con respecto a la versión anterior y por eso yo planteaba solo agregar IOError
para mantener el mismo comportamiento.
from pysimplesoap.
... 🤨
@lukio ¿Por qué no integraste directamente mi rama? en lugar de:
- mergear cambios incompletos en un commit aparte.
- corregir esos cambios incompletos y (supongo que sucederá) volver a mergear.
from pysimplesoap.
... raised_eyebrow
@lukio ¿Por qué no integraste directamente mi rama? en lugar de:
1. mergear cambios incompletos en un commit aparte. 2. corregir esos cambios incompletos y (supongo que sucederá) volver a mergear.
Hola @cperezabo, la verdad es que no merge una rama tuya, porque no realizaste un pull request como ya habías comentado, así que en la apurada, arme un pull request y lo mergee. Espero que se entienda que no hay malas inteciones, sino ganas de avanzar. Pull request sobre este proyecto son más que bienvenidos.
Un abrazo y gracias por tus comentarios.
from pysimplesoap.
Hacer cosas a las apuradas no funciona nunca 🙂.
Yo no hice pull request porque antes esperaba debatir sobre la solución propuesta. ¿Sino para que sirve este espacio? Si se consideraba adecuada la misma, creaba un PR.
No pasa nada, la próxima saldrá mejor! Lo bueno es que está fixeado! 🚀
from pysimplesoap.
@cperezabo @lukio que bueno que ya resolvieron el problema, gracias por el fix!
from pysimplesoap.
Gracias @cperezabo por el fix, pude solucionar el problema de Facturación.
Tengo un error bastante similar pero al hacer la consulta de cuit (padrón a5).
File "/opt/odoo/extra-addons/ingadhoc-odoo-argentina/l10n_ar_account/models/res_partner.py", line 170, in get_data_from_padron_afip
'Obtuvimos este error: %s' % (self.name, cuit, e.faultstring)))
AttributeError: 'SSLHandshakeError' object has no attribute 'faultstring'
Soy algo nuevo en github, perdón si el error corresponde al hilo.
from pysimplesoap.
Related Issues (20)
- Generates DeprecationWarning in Python 3.5 and newer due to use of inspect.getargspec() HOT 2
- TypeError: fixer() missing 1 required positional argument: 'check_hostname' HOT 5
- Missing git tag for releases HOT 2
- 1.16.2 seems to be broken HOT 3
- pysimplesoap doesn't handle defaultnamespace
- OrderedDict is broken on Python 3.4
- Improve httplib2 version check HOT 1
- How to set xsi:type without WSDL
- [stable_py3k] Setup.py suggestion
- atributo del tag password
- Import error
- How can an XML document be equal to one of its children?
- Avoid verify ssl in postprocess
- Why passing unicode string to xml.dom.minidom.parseString? (python2)
- ssl.SSLError: [SSL: DH_KEY_TOO_SMALL] dh key too small HOT 6
- API used successfully in Python 2.7 application does not work in Python 3.6
- .
- Workaround for bug in older versions of `httplib2` broken HOT 1
- Bare except
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pysimplesoap.