reingart / pyafipws

Factura Electrónica AFIP y otros servicios web (proyecto software libre) — Interfases, tools and apps for Argentina's gov't. webservices (soap, com/dll simil-ocx, pdf, dbf, xml, json, etc.) #python
http://www.sistemasagiles.com.ar/trac/wiki/ManualPyAfipWs
GNU Lesser General Public License v3.0
289 stars 228 forks source link

Consultar Padron (ExpatError: mismatched tag: line 1, column 35) #43

Closed foxcarlos closed 6 years ago

foxcarlos commented 6 years ago

Saludos, estoy intentando conectarme para realizar una consulta de padrón, al utilizar la configuración para test como homologacion funciona bien, pero cuando me paso a Producción me genera error, a continuación indico los pasos que estoy siguiendo según lo que ubique en el manual.

from pyafipws.wsaa import WSAA from pyafipws.ws_sr_padron import WSSrPadronA4

CERTIFICADO = "/home/foxcarlos/afip/firmas/certificado.crt" CLAVEKEY = "/home/foxcarlos/afip/firmas/privada.key SERVICIO = 'ws_sr_padron_a4' PADRON_CUIT = "30543321172" URL = 'https://wsaa.afip.gov.ar/ws/services/LoginCms?wsdl'

wsaa = WSAA() ta = wsaa.Autenticar(SERVICIO, CERTIFICADO, CLAVEKEY, URL) # aqui funciona bien, me genera un TA sin problemas padron = WSSrPadronA4() padron.Token = wsaa.Token padron.Sign = wsaa.Sign padron.HOMO = False padron.SetTicketAcceso(ta) # aca tambien funciona bien padron.Cuit = "30543321172"

padron.Conectar("", 'https://aws.afip.gov.ar/sr-padron/webservices/personaServiceA4')

# El error ocurre aquí al intentar consultar el CUIT padron.Consultar("20923206184")

# Al hacerle un debug noto que justo aqui es donde ocurre el error:

res = self.client.getPersona(sign=self.Sign, token=self.Token, cuitRepresentada=self.Cuit, idPersona=id_persona,)

No handlers could be found for logger "pysimplesoap.simplexml" ExpatError: ExpatErr...umn 35',)

Traceback (most recent call last): File "test.py", line 39, in ejecutar(argu if len(argu)>1 else []) File "test.py", line 32, in ejecutar padron.Consultar("20923206184") File "/usr/lib/python2.7/dist-packages/pyafipws/utils.py", line 157, in capturar_errores_wrapper return func(self, *args, kwargs) File "/usr/lib/python2.7/dist-packages/pyafipws/ws_sr_padron.py", line 108, in Consultar idPersona=id_persona, File "/home/foxcarlos/.local/lib/python2.7/site-packages/pysimplesoap/client.py", line 177, in return lambda *args, *kwargs: self.wsdl_call(attr, args, kwargs) File "/home/foxcarlos/.local/lib/python2.7/site-packages/pysimplesoap/client.py", line 351, in wsdl_call return self.wsdl_call_with_args(method, args, kwargs) File "/home/foxcarlos/.local/lib/python2.7/site-packages/pysimplesoap/client.py", line 375, in wsdl_call_with_args response = self.call(method, *params) File "/home/foxcarlos/.local/lib/python2.7/site-packages/pysimplesoap/client.py", line 258, in call jetty=self.__soap_server in ('jetty',)) File "/home/foxcarlos/.local/lib/python2.7/site-packages/pysimplesoap/simplexml.py", line 56, in init self.__document = xml.dom.minidom.parseString(text) File "/usr/lib/python2.7/xml/dom/minidom.py", line 1928, in parseString return expatbuilder.parseString(string) File "/usr/lib/python2.7/xml/dom/expatbuilder.py", line 940, in parseString return builder.parseString(string) File "/usr/lib/python2.7/xml/dom/expatbuilder.py", line 223, in parseString parser.Parse(string, True) ExpatError: mismatched tag: line 1, column 35

reingart commented 6 years ago

Posiblemente sea un problema de URL, el ExpatError es que no puede interpretar el XML devuelto por el servidor.

Para Padrón Alcance 4 sería: https://aws.afip.gov.ar/sr-padron/webservices/personaServiceA4?wsdl

También deberían revisar que tienen actualizados los certificados de Autoridad Certificante (CA), ver conf/afip_ca_info.crt

foxcarlos commented 6 years ago

Si efectivamente no estaba usando la url correcta para el alcance 4 , muchas gracias