Hola Estela, muchas gracias por tu gran aporte, pero descubrí que tengo una versión de WSAA del 2011 y me comunique con Mariano Reingart para ver como actualizarla y mediante esta nueva versión solucione el problema de actualización. Gracias
Logo NMA Norberto Mario Alvarez NMA Systems (011)-15-3061-0991 n...@nmasystems.com.ar De: GUFA@mug.org.ar [mailto:GUFA@mug.org.ar] En nombre de Lic. Estela Lázaro Enviado el: viernes, 2 de diciembre de 2016 13:16 Para: GUFA List Member Asunto: [GUFA] WSAA.ObtenerTagXml("expirationTime") Hola Norberto En principio te cuento que yo para cada terminal tengo un punto de venta. Te paso el código que uso (cambiale los directorios) WAIT WINDOW "Se está recuperando información del WebService, Aguarde..." Nowait Noclear WSAA = CREATEOBJECT("WSAA") ON ERROR DO errhand1 cualfecha=dtos(date())+"_"+strtran(time(),":","_") ** Para reutilizar TA 02/08/16 IF homo archivo = cDtmp+ 'TAhomo.xml' else archivo = cDtmp+ 'TA.xml' ENDIF f = FOPEN(archivo) IF f = -1 THEN ta = "" && no existe el TA previo ELSE ta = FREAD(f, 65535) IF Allt(gUsuar)="01" ? "TA leido:", ta endif =FCLOSE(f) ENDIF ok = WSAA.AnalizarXml(ta) expiracion = WSAA.ObtenerTagXml("expirationTime") ? "Fecha Expiracion ticket: ", expiracion IF ISNULL(expiracion) solicitar = .T. && solicitud inicial ELSE solicitar = WSAA.Expirado(expiracion) && chequear solicitud previa ENDIF if solicitar IF homo *-- Generar el mensaje firmado (CMS) *!* cms = WSAA.SignTRA(tra, cDtmp + "estela.crt", cDtmp + "privada.key") && Cert. Demo cms = WSAA.SignTRA(tra,cDtmp+ "HomoE.crt", UDBSQL+SISDATASQL+ "PrivadaE.key") && Cert. Demo cDtmp + *-- Llamar al web service para autenticar cualhttps="https://wsaahomo.afip.gov.ar/ws/services/LoginCms" && Homologación ta = WSAA.CallWSAA(cms, "https://wsaahomo.afip.gov.ar/ws/services/LoginCms") && Homologación ELSE *-- Generar el mensaje firmado (CMS) *!* cms = WSAA.SignTRA(tra, cDtmp + "homo.crt", cDtmp + "homo.key") cms = WSAA.SignTRA(tra, cDtmp +"Prod"+ALLTRIM(empresas.empgrupo)+".crt",; cDtmp + "Prod"+ALLTRIM(empresas.empgrupo)+".key") &&Los certificados con nombre de la empresa *-- Llamar al web service para autenticar cualhttps="https://wsaa.afip.gov.ar/ws/services/LoginCms" && Producción ta = WSAA.CallWSAA(cms, "https://wsaa.afip.gov.ar/ws/services/LoginCms") && Producción ENDIF *-- Llamar al web service para autenticar ta = WSAA.LoginCMS(cms) *-- Grabo el ticket de acceso para poder reutilizarlo *-- (revisar temas de seguridad y permisos) f = FCREATE(archivo) w = FWRITE(f, ta) IF Allt(gUsuar)="01" ? "bytes escritos:", w, "descriptor", f ENDIF =FCLOSE(f) ELSE ? "no expirado!", "Reutilizando!" ENDIF ..... Saludos Lic. Estela Lázaro <https://ar.linkedin.com/pub/estela-l%C3%A1zaro/36/725/ab7> D&SIP Desarrollo y Servicios Informáticos Profesionales <http://www.dsip.com.ar/> www.dsip.com.ar Estela en LinkedIn <https://ar.linkedin.com/pub/estela-l%C3%A1zaro/36/725/ab7> _____ De: Norberto Mario Alvarez <n...@nmasystems.com.ar> Para: GUFA List Member <GUFA@mug.org.ar> Enviado: Viernes, 2 de diciembre, 2016 12:12:01 Asunto: [GUFA] WSAA.ObtenerTagXml("expirationTime") Estimados Colisteros, para los que están utilizando las librerías de Sistemas Agiles, la pregunta es la siguiente, intentando reutilizar el TA al ejecutar WSAA.ObtenerTagXml("expirationTime") me tira un error de ole error code 0x80020006: Tengo bien el reloj de la PC , no le encuentro la vuelta. Gracias por vuestra atención Norberto Alvarez Socio # 1882