ws_sr_padron.py + linux + php

457 views
Skip to first unread message

Claudio Mucci

unread,
Nov 24, 2017, 4:48:21 PM11/24/17
to PyAfipWs Factura Electrónica Libre y temas relacionados AFIP ARBA ANMAT
Hola grupo

Estoy absolutamente perdido con esta combinación.

Cuento mi avance
Hasta acá todo bien.

Ahora bien, cómo le paso el TA recibido y cómo sería la linea de comandos para ejecutar la consulta de un determinado CUIT en el archivo ws_sr_padron.py???

Se agradece cualquier orientación que me puedan dar! 

Saludos 

Mariano Reingart

unread,
Nov 26, 2017, 6:26:35 PM11/26/17
to pyaf...@googlegroups.com
2017-11-24 18:48 GMT-03:00 Claudio Mucci <fono...@gmail.com>:
Hola grupo

Estoy absolutamente perdido con esta combinación.

Cuento mi avance
Hasta acá todo bien.

Ahora bien, cómo le paso el TA recibido y cómo sería la linea de comandos para ejecutar la consulta de un determinado CUIT en el archivo ws_sr_padron.py???


Por línea de comando sería ejecutar el script .py y pasarle el CUIT a consultar:

python2.7 ws_sr_padron.py 20267565393 --online

 
No hace falta que le pases el ticket de acceso (TA) ni que ejecutes wsaa.py antes, pero sí debés configurar el rece.ini que está en conf:


(copiarlo a la carpeta donde este ws_sr_padron.py o pasar el path completo como primer parámetro)

Sds

 

Claudio Mucci

unread,
Nov 27, 2017, 11:05:25 AM11/27/17
to PyAfipWs Factura Electrónica Libre y temas relacionados AFIP ARBA ANMAT
Hola Mariano, 
Gracias por tu respuesta. 

Ejecuto lo siguiente por consola:
python2.7 ws_sr_padron.py 20267565393 --online --trace

Hice como me decís, pero me tira lo siguiente:
Traceback (most recent call last):
  File "ws_sr_padron.py", line 247, in <module>
    main()
  File "ws_sr_padron.py", line 191, in main
    wssrpadron4.SetTicketAcceso(ta)
  File "/home/pyafipws/utils.py", line 157, in capturar_errores_wrapper
    return func(self, *args, **kwargs)
  File "/home/pyafipws/utils.py", line 390, in SetTicketAcceso
    raise RuntimeError("Ticket de Acceso vacio!")
RuntimeError: Ticket de Acceso vacio!

Me pide el ticket de acceso de todas formas. 
Te comento que tengo varios CUIT.INIs configurados en el server, pero probé tanto en conf/rece.ini como en los ini de cada cuit, y me tira el mismo error. 

Qué estoy haciendo mal?

Gracias!

Fede Devas

unread,
Nov 27, 2017, 12:31:38 PM11/27/17
to PyAfipWs Factura Electrónica Libre y temas relacionados AFIP ARBA ANMAT
Tengo el mismo problema, en homologacion me funciona pero para prod no.
Lo que si note es que para homologacion hice la relacion especifica con el servicio ws_padron_a4 pero para prod no encuentro donde hacerlo. Supongo que sera necesario tambien.

Ariel Stechina

unread,
Nov 27, 2017, 1:10:38 PM11/27/17
to pyaf...@googlegroups.com
Efectivamente se debe relacionar el servicio web en Administrador de RelacionesServicio Consulta Padron A4


--
Proyecto PyAfipWs Factura Electrónica Libre y temas relacionados AFIP ARBA ANMAT:
http://www.pyafipws.com.ar/ - http://www.github.com/reingart/pyafipws - http://www.sistemasagiles.com.ar/
---
Has recibido este mensaje porque estás suscrito al grupo "PyAfipWs Factura Electrónica Libre y temas relacionados AFIP ARBA ANMAT" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a pyafipws+unsubscribe@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a pyaf...@googlegroups.com.
Visita este grupo en https://groups.google.com/group/pyafipws.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Fede Devas

unread,
Nov 27, 2017, 1:43:14 PM11/27/17
to PyAfipWs Factura Electrónica Libre y temas relacionados AFIP ARBA ANMAT
Mil Gracias !!!!
Funciona Perfecto ahora .
Saludos!
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a pyafipws+u...@googlegroups.com.

Claudio Mucci

unread,
Nov 27, 2017, 3:34:14 PM11/27/17
to PyAfipWs Factura Electrónica Libre y temas relacionados AFIP ARBA ANMAT
Hola Fede
Yo ya había hecho la relación, y no me funcionó.
Estas probando desde consola en linux?
Por casualidad, modificaste ws_sr_padron.py?

Gracias

Fede Devas

unread,
Nov 27, 2017, 8:44:17 PM11/27/17
to PyAfipWs Factura Electrónica Libre y temas relacionados AFIP ARBA ANMAT
Si estoy probando desde la consola de linux con un debian.
Sabes que me da ese error cuando no encuentra el file rece.ini
Segun la version que tengas descargada lo busca en el path donde estas ejecutando ./conf/rece.ini o ./rece.ini

Para descartar podes llamar la ejecucion especificando el file rece.ini como yo (reemplazando por la ubicacion de tu rece.ini relativa al lugar donde estas parado):
python pyafipws/ws_sr_padron.py ./pyafipws/conf/rece.ini 20330328542

Otra cosa a tener en cuenta:
Al WSAA le tuve que agregar:
CACERT=pyafipws/conf/afip_ca_info.crt
(y copiar el cert si no venis de la ultima version que ya lo trae).

Y a [WS-SR-PADRON-A4] descomentar la linea:
para que pegue contra los servers de produccion de afip.


Para mi es lo de que no te esta encontrando el rece.ini, porque genera ese error.

Suerte!!
Message has been deleted

Andres Misiak

unread,
Nov 28, 2017, 12:31:17 PM11/28/17
to pyafipws
Tasco:

Copia el comando que usas, te cuento que a mi me funcionó pero durante unos minutos me decía eso porque estaba ubicado en la carpeta donde estaba el archivo rece.ini y no lo estaba ubicando con ./rece.ini , quizás sea algo por el estilo, yo lo puedo probar lo que mandes.

Saludos

Andres Misiak

El 28 de noviembre de 2017, 12:54, Tasco Consultores<tascocon...@gmail.com> escribió:
Yo lo tengo exactamente como comentas, y sigo con los mismos errores de siempre, incluso provocando que vaya a leer otro .ini, consigo el mismo resultado.


Traceback (most recent call last):
  File "ws_sr_padron.py", line 226, in <module>
    main()
  File "ws_sr_padron.py", line 170, in main
    wssrpadron4.SetTicketAcceso(ta)
  File "/home/linuxroot/MEGA/Desarrollos/DesarrollosPHP/SisConSerIn-Liberty/factura_electronica/pyafipws-padron/utils.py", line 157, in capturar_errores_wrapper
    return func(self, *args, **kwargs)
  File "/home/linuxroot/MEGA/Desarrollos/DesarrollosPHP/SisConSerIn-Liberty/factura_electronica/pyafipws-padron/utils.py", line 390, in SetTicketAcceso
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a pyafipws+unsubscribe@googlegroups.com.

Claudio Mucci

unread,
Nov 28, 2017, 5:35:18 PM11/28/17
to PyAfipWs Factura Electrónica Libre y temas relacionados AFIP ARBA ANMAT
Hola Mariano y grupo, 

Ahí seguí al pie de la letra tus comentarios, mas los del hilo, y sigo poder conectarme
Paso la respuesta que estoy teniendo:

El cuit de mi empresa es 30711184992, con lo que utilizo el nombre 30711184992.ini como rece.ini
Con esto vengo facturando sin ningún problema.

Por linea de comando ejecuto:

python2.7 ws_sr_padron.py /home/pyafipws/30711184992.ini 20267565393 --online --trace

/home/pyafipws/utils.py:284: UserWarning: Corrigiendo WSDL ... http://aws.afip.gov.ar/sr-padron/webservices/personaServiceA4
 warnings
.warn("Corrigiendo WSDL ... %s" % location)
Consultando AFIP online via webservice... --------------------------------------------------------------------------------
POST https
://aws.afip.gov.ar/sr-padron/webservices/personaServiceA4
SOAPAction: "None"
Content-length: 1398
Content-type: text/xml; charset="UTF-8"


<?xml version="1.0" encoding="UTF-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Header/>
<soap:Body>
 
<getPersona xmlns="http://a4.soap.ws.server.puc.sr/">
 
<token>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/Pgo8c3NvIHZlcnNpb249IjIuMCI+CiAgICA8aWQgc3JjPSJDTj13c2FhLCBPPUFGSVAsIEM9QVIsIFNFUklBTE5VTUJFUj1DVUlUIDMzNjkzNDUwMjM5IiB1bmlxdWVfaWQ9IjI1OTIyMzAyNzUiIGdlbl90aW1lPSIxNTExOTAyMzY5IiBleHBfdGltZT0iMTUxMTk0NTYyOSIvPgogICAgPG9wZXJhdGlvbiB0eXBlPSJsb2dpbiIgdmFsdWU9ImdyYW50ZWQiPgogICAgICAgIDxsb2dpbiBlbnRpdHk9IjMzNjkzNDUwMjM5IiBzZXJ2aWNlPSJ3c19zcl9wYWRyb25fYTQiIHVpZD0iQz1hciwgTz12ZXJlbmEgZ2xvYmFsIHMuYS4sIFNFUklBTE5VTUJFUj1DVUlUIDMwNzExMTg0OTkyLCBDTj14Z2VzdGlvbi5hciIgYXV0aG1ldGhvZD0iY21zIiByZWdtZXRob2Q9IjIyIj4KICAgICAgICAgICAgPHJlbGF0aW9ucz4KICAgICAgICAgICAgICAgIDxyZWxhdGlvbiBrZXk9IjMwNzExMTg0OTkyIiByZWx0eXBlPSI0Ii8+CiAgICAgICAgICAgIDwvcmVsYXRpb25zPgogICAgICAgIDwvbG9naW4+CiAgICA8L29wZXJhdGlvbj4KPC9zc28+Cg==</token><sign>WaEXp1NxaerTxtNvsvQ3JhVL37MghXlDv7uGzp+SxOvG6rE3v7VpkJIdtBPBjNoJZheJ/rQCmXkv7zKevkuVS6DDHuqJJ+MqP1kPJJUYzHxELMqMYaJtPKE5ZCwiUFfHebXHzBWp8nSGFQsa7hpG8ydjBkMQU8W+dNf6vmJtzyo=</sign><cuitRepresentada>30711184992</cuitRepresentada><idPersona>20267565393</idPersona></getPersona>
</soap:Body>
</
soap:Envelope>


status
: 500
content
-length: 380
set-cookie: TS014e1d2a=0145b27a97937c53cb05d2097d8c1a7e1a4a59421ed7021f347b879af5eee14ab38f104c31; Path=/
connection: close
date: Tue, 28 Nov 2017 22:23:53 GMT
content-type: text/
xml;charset=UTF-8
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><soap:Fault><faultcode>soap:Client</faultcode><faultstring>Unmarshalling Error: unexpected element (uri:"http://a4.soap.ws.server.puc.sr/", local:"token"). Expected elements are &lt;{}sign>,&lt;{}token>,&lt;{}cuitRepresentada>,&lt;{}idPersona> </faultstring></soap:Fault></soap:Body></soap:Envelope>
================================================================================

Traceback (most recent call last):
 File "ws_sr_padron.py", line 246, in <module>
 main()
 File "
ws_sr_padron.py", line 209, in main
 ok = wssrpadron4.Consultar(id_persona)
 File "
/home/pyafipws/utils.py", line 157, in capturar_errores_wrapper
 return func(self, *args, **kwargs)
 File "
ws_sr_padron.py", line 103, 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))
pysimplesoap.client.SoapFault: soap:Client: Unmarshalling Error: unexpected element (uri:"
http://a4.soap.ws.server.puc.sr/", local:"token"). Expected elements are <{}sign>,<{}token>,<{}cuitRepresentada>,<{}idPersona>




y este es un fragmento del INI


[WS-SR-PADRON-A4]
CUIT
=30711184992
ENTRADA
=entrada.txt
SALIDA
=salida.txt
CACERT
=conf/afip_ca_info.crt
URL
=https://aws.afip.gov.ar/sr-padron/webservices/personaServiceA4?WSDL


También hice la relación en AFIP. 

Alguna sugerencia?



El domingo, 26 de noviembre de 2017, 20:26:35 (UTC-3), Mariano Reingart escribió:

Andres Misiak

unread,
Nov 28, 2017, 9:06:16 PM11/28/17
to pyafipws
Claudio lo único que se me ocurre a esta hora, es que pongas el CACERT en la sección de [WSAA] en lugar de [WS-SR-PADRON-A4], yo lo tengo así.

Saludos.

Andres Misiak

Claudio Mucci

unread,
Nov 29, 2017, 6:16:16 AM11/29/17
to PyAfipWs Factura Electrónica Libre y temas relacionados AFIP ARBA ANMAT
Buen día Andrés, 

Lo tengo también en [WSAA]. De hecho lo tengo en cada uno de los servicios, recomendación que me hizo Mariano. 

Lo único que yo no hice fue bajar todo el paquete completo. Simplemente actualicé utils.py y ws_sr_padron.py, pero el resto lo dejé como estaba. Podría venir por ahí?

Gracias y saludos. 

Andres Misiak

Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a pyafipws+u...@googlegroups.com.

Andres Misiak

unread,
Nov 29, 2017, 7:44:49 AM11/29/17
to pyafipws
Yo hice un git clone de nuevo porque tenía una versión bastante vieja y modificada y me anduvo perfecto. Probalo que es rápido y te sacas las duda

Andres Misiak

Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a pyafipws+unsubscribe@googlegroups.com.

Tasco Consultores

unread,
Nov 29, 2017, 10:15:54 AM11/29/17
to PyAfipWs Factura Electrónica Libre y temas relacionados AFIP ARBA ANMAT
Hola Andres:

pyafipws-padron$ python ws_sr_padron.py rece.ini 30642375527

El rece.ini esta en la misma carpeta ws_sr_padron.py, lo mismo que el wsaa.py

Muchas Gracias. Saludos

Andres Misiak

unread,
Nov 29, 2017, 4:41:09 PM11/29/17
to pyafipws
Tasco:

A mi así NO me funciona:
pyafipws-padron$ python ws_sr_padron.py rece.ini 30642375527

Pero así SI me funciona:
pyafipws-padron$ python ws_sr_padron.py ./rece.ini 30642375527

Generalmente en Linux es lo mismo y no revisé el código a ver porqué no me anda, pero te lo cuento de forma anecdótica porque quizás te sirve.

Saludos.

Andres Misiak

Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a pyafipws+unsubscribe@googlegroups.com.

Tasco Consultores

unread,
Nov 30, 2017, 10:14:51 AM11/30/17
to PyAfipWs Factura Electrónica Libre y temas relacionados AFIP ARBA ANMAT
Hola Andres:
Si, ya habia probado como vos mencionas, incluso con con la ubicacion absoluta y nada, siempre me d{a el mismo error, siempre.
python ws_sr_padron.py ./rece.ini 30642375527 

Traceback (most recent call last):
  File "ws_sr_padron.py", line 226, in <module>
    main()
  File "ws_sr_padron.py", line 170, in main
    wssrpadron4.SetTicketAcceso(ta)
  File "pyafipws-padron/utils.py", line 157, in capturar_errores_wrapper
    return func(self, *args, **kwargs)
  File "pyafipws-padron/utils.py", line 390, in SetTicketAcceso
    raise RuntimeError("Ticket de Acceso vacio!")
RuntimeError: Ticket de Acceso vacio!

No se, seguiré investigando.
Gracias!!

Claudio Mucci

unread,
Nov 30, 2017, 12:27:30 PM11/30/17
to pyaf...@googlegroups.com

Hola Tasco, 

Estoy en el mismo y exacto punto. Hice todo lo del hilo, y nada. 

Si tenés alguna novedad, por favor subila, y lo mismo voy a hacer. 

Sigo probando. 

Saludos. 


Claudio Mucci
M +54 (011) 15-5004-9002



De: pyaf...@googlegroups.com <pyaf...@googlegroups.com> en nombre de Tasco Consultores <tascocon...@gmail.com>
Enviado: jueves, 30 de noviembre de 2017 12:14:51 p.m.
Para: PyAfipWs Factura Electrónica Libre y temas relacionados AFIP ARBA ANMAT
Asunto: Re: [pyafipws] ws_sr_padron.py + linux + php
 

fcoli...@gmail.com

unread,
Jan 19, 2018, 9:29:11 AM1/19/18
to PyAfipWs Factura Electrónica Libre y temas relacionados AFIP ARBA ANMAT
Yo realice esta modificacion al archivo ws_sr_padron.py y me funciona perfecto!


# --- original ---
WSDL = "https://awshomo.afip.gov.ar/sr-padron/webservices/personaServiceA4?wsdl"
CONFIG_FILE = "rece.ini"

# --- deberia quedar asi, en config_file va la ruta completa -----
WSDL = "https://aws.afip.gov.ar/sr-padron/webservices/personaServiceA4?wsdl"
CONFIG_FILE = "/var/www/web/lib/pyafipws/rece.ini"
Reply all
Reply to author
Forward
0 new messages