Hola a todos.
Estoy terminando mi integración al nuevo webervice ws_sr_padron_a4 para consultar datos de contribuyentes.
Ya hice todas las pruebas en modo homologación; todo ok.
También hice la asociación del webservice en producción (desde la página de afip).
Instalé la última versión de pyafipws, edité el archivo ws_sr_padron.py, y cambié:
HOMO = False
Confirmo que me puedo autenticar correctamente al nuevo webservice:
from pyafipws.wsaa import WSAA
from pyafipws.ws_sr_padron import WSSrPadronA4
wsaa = WSAA()
ta = wsaa.Autenticar(service="ws_sr_padron_a4",
crt=my_prod_crt,
key=my_prod_key,
wsdl='https://wsaa.afip.gov.ar/ws/services/LoginCms?wsdl')
padron = WSSrPadronA4()
padron.SetTicketAcceso(ta)
padron.Cuit = my_cuit
padron.Conectar()
No obstante, al intentar consultar un CUIT, recibo un extraño error, aquí está el traceback:
Traceback (most recent call last): File "/var/www/medios/applications/webmedios/controllers/afip.py", line 90, in test ok = padron.Consultar("20318670634") File "/usr/local/lib/python2.7/dist-packages/PyAfipWs-2.7.0-py2.7.egg/pyafipws/utils.py", line 157, in capturar_errores_wrapper return func(self, *args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/PyAfipWs-2.7.0-py2.7.egg/pyafipws/ws_sr_padron.py", line 104, in Consultar idPersona=id_persona, File "/usr/local/lib/python2.7/dist-packages/pysimplesoap/client.py", line 147, in <lambda> return lambda *args, **kwargs: self.wsdl_call(attr,*args,**kwargs) File "/usr/local/lib/python2.7/dist-packages/pysimplesoap/client.py", line 342, in wsdl_call response = self.call(method, *params) File "/usr/local/lib/python2.7/dist-packages/pysimplesoap/client.py", line 220, in call raise SoapFault(unicode(response.faultcode), unicode(response.faultstring))
SoapFault: soap:Client: Unmarshalling Error: unexpected element (uri:"http://a4.soap.ws.server.puc.sr/", local:"token"). Expected elements are <{}sign>,<{}token>,<{}cuitRepresentada>,<{}idPersona>
No entiendo bien si el error está en el XML del request o del response.
Adjunto el XML que se genera tras realizar el request (lo encontré en la carpeta "cache" dentro del directorio de instalación de pyafipws).
Agradezco cualquier comentario o sugerencia.
Desde ya gracias, saludos!