Varios me consultaron por el tema de efectuar consultas via web al padron 
correspondientes a los agentes de retencion de la provincia de Buenos Aires. El 
tema habia quedado en el aire porque no habia podido hacerlo andar. Gracias a 
Santiago Corva pude descubrir que el problema era sencillo, solamente habia que 
asignar como nombre de campo File al archivo XML.
Grrrr ... haber avisado antes ...

El tema quedaria asi:

Van a necesitar:

Una version de iFox: Esta es la ultima, pero cualquiera salida despues de 
Febrero de este año deberia servir:
http://www.coliseosoftware.com.ar/ifox/downloads/ifox.zip
Bajar y registrar con Regsvr32

Una clase para generar el hash MD5, que no desarrolle yo y que pueden obtener 
de:
http://tortugaproductiva.galeon.com/docs/md5/index.html

Y el codigo seria (el CUIT que consulto no es ninguno en especial, es uno que 
saque del padron en formato TXT):

Clear
 
Set ClassLib to "D:\2\MD5.vcx"
oMD5 = CreateObject("MD5")


cServer = "dfe.ec.gba.gov.ar"
cURL = "/DomicilioElectronico/SeguridadCliente/dfeServicioConsulta.do"
 

Text to XMLConsulta
<CONSULTA-ALICUOTA>
<fechaDesde>20080201</fechaDesde>
<fechaHasta>20080229</fechaHasta>
<cantidadContribuyentes>1</cantidadContribuyentes>
<contribuyentes class="list">
<contribuyente>
<cuitContribuyente>34686233318</cuitContribuyente>
</contribuyente>
</contribuyentes>
</CONSULTA-ALICUOTA>
EndText
 
cHash = oMD5.Encriptar(XMLConsulta)
cFileName = "DFEServicioConsulta_" + cHash + ".XML"
 
oHTTP = CreateObject("iFox.HTTP")
oHTTP.AddPostField("user", "NOMBRE USUARIO")  && Atencion - Cambiar
oHTTP.AddPostField("password", "PASSWORD")  && Atencion - Cambiar
oHTTP.AddPostFieldasFile("file", XMLConsulta, cFileName)
oHTTP.IgnoreSSLErrors = .T.
 
cRes = oHTTP.Post(cServer, cURL,,, 443)
? cRes


Espero que no tengan problemas, escucho comentarios y sugerencias.

Pablo Pioli

Responder a