la interfaz me funciona de 10. ya estuve facturando desde mi aplicacion. ahora, un problemita que no se como resolverlo. el archivo ta.xml que se genera al pedir autorizacion con el token y sign lo tengo que borrar (el contenido) para seguir facturando, sino me devuelve el cae en blanco. les dejo un fragmento del codigo en vb6.
Function aut_A()
cae_cae = ""
T_F = "tipo A"
' Crear objeto interface Web Service Autenticación y Autorización
Dim WSAA As Object, WSFE As Object
Set WSAA = CreateObject("WSAA")
' verifico la versión:
Debug.Assert WSAA.Version >= "2.04a"
' deshabilito errores no manejados (version 2.04 o superior)'
WSAA.LanzarExcepciones = False
' inicializo las variables:
Token = ""
Sign = ""
' busco un ticket de acceso previamente almacenado:
If Dir("ta.xml") <> "" Then
' leo el xml almacenado del archivo
Open "ta.xml" For Input As #1
Line Input #1, ta_xml
Close #1
' analizo el ticket de acceso previo:
ok = WSAA.AnalizarXml(ta_xml)
'
' verificar CUIT
If Not WSAA.Expirado() Then
' puedo reusar el ticket de acceso:
Token = WSAA.ObtenerTagXml("token")
Sign = WSAA.ObtenerTagXml("sign")
End If
End If
' Si no reuso un ticket de acceso, solicito uno nuevo:
If Token = "" Or Sign = "" Then
' produccion:
cert = CurDir() + "\cert.crt" ' certificado de prueba
clave = CurDir() + "\key.key" ' clave privada de prueba
wsaa_url = "
https://wsaahomo.afip.gov.ar/ws/services/LoginCms"
wsdl_url = "
https://wswhomo.afip.gov.ar/wsfev1/service.asmx?WSDL"
' Generar un Ticket de Requerimiento de Acceso (TRA)
tra = WSAA.CreateTRA("wsfe", 43200) ' 3600*12hs
' Especificar la ubicacion de los archivos certificado y clave privada
Path = CurDir() + "\"
' Especificar la ubicacion de los archivos certificado y clave privada
' Generar el mensaje firmado (CMS)
cms = WSAA.SignTRA(tra, cert, clave)
If cms <> "" Then
cache = ""
' Llamar al web service para autenticar:
ok = WSAA.conectar(cache, wsaa_url)
ta_xml = WSAA.LoginCMS(cms)
If ta_xml <> "" Then
' guardo el ticket de acceso en el archivo
Open "ta.xml" For Output As #1
Print #1, ta_xml
Close #1
End If
Token = WSAA.Token
Sign = WSAA.Sign
End If
' reviso que no haya errores:
Debug.Print "excepcion", WSAA.Excepcion
If WSAA.Excepcion <> "" Then
Debug.Print WSAA.Traceback
MsgBox WSAA.Excepcion, vbCritical, "Excepción"
End If
End If
' Imprimir los datos del ticket de acceso: ToKen y Sign de autorización
' MsgBox "Token: " + Token
' MsgBox "Sign: " + Sign
form1.Text1.Text = Token
form1.Text2.Text = Sign
':::::::::::::::::::::::::::::: Crear objeto interface Web Service de Factura Electrónica de Mercado Interno
Set WSFEv1 = CreateObject("WSFEv1")
Debug.Print WSFEv1.Version
If WSAA.Version < "1.12" Then
MsgBox "Debe instalar una versión mas actualizada de PyAfipWs WSFEv1!"
End
End If
'Debug.Print WSFEv1.InstallDir
' Setear tocken y sing de autorización (pasos previos)
WSFEv1.Token = Token
WSFEv1.Sign = Sign