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

 

 

Responder a