Karinha, para obtener el ticket de acceso utilizo esta rutina
//----------------------------------------------------------------------------//
Static Function LlamoAlWSAA( c_CMS_Base64 )
Local cXml := ''
Local oWSAA := ''
Local cWSAA_URL := 'https://wsaa.afip.gov.ar/ws/services/LoginCms?wsdl'
Local cRespuesta := ''
Memvar oVar
If( oVar : lProduccion )
cWSAA_URL := 'https://wsaa.afip.gov.ar/ws/services/LoginCms?wsdl'
Else
cWSAA_URL := 'https://wsaahomo.afip.gov.ar/ws/services/LoginCms'
End
oWSAA := CreateObject( 'MSXML2.XMLHTTP' )
If( Empty( oWSAA ) )
MsgStop( 'NO se Pudo Crear el Objeto oWSAA; se Cancela el Programa' )
Return( .f. )
End
* Armo el XML con el TRA
cXml += '<?xml version="1.0" encoding="UTF-8"?>' + CRLF
cXml += '<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">' + CRLF
cXml += '<soap:Body>' + CRLF
cXml += ' <loginCms xmlns="http://wsaa.view.sua.dvadac.desein.afip.gov">' + CRLF
cXml += ' <in0>' + c_CMS_Base64 + '</in0>' + CRLF
cXml += ' </loginCms>' + CRLF
cXml += '</soap:Body>' + CRLF
cXml += '</soap:Envelope>' + CRLF
* Llamo al Webservice y defino Opciones
oWSAA : Open( 'POST', cWSAA_URL, .f. )
oWSAA : SetRequestHeader( "SOAPAction:", "None" )
oWSAA : SetRequestHeader( "Content-Type", "text/xml;charset=UTF-8" )
* Envio el Archivo y Recibo la Respuesta del WS
oWSAA : Send( cXml )
//oWSAA : Status
* Si el status es diferente a 200, ocurri¢ alg£n error de conectividad con el WS ---
cRespuesta := oWSAA : ResponseText
if( Empty( cRespuesta ) )
MsgStop( "Error; cRespuesta esta VACIO" )
End
oWSAA := Nil
Release oWSAA
Return( cRespuesta )
Lo que me devuelve es una cadena, que grabo posteriormente. Y es lo que no entiendo ya que el archivo que grabo no lo usa ningún otro proceso. Cuando corro el programa por 1ra. vez funciona ok, pero si vuelvo a pedir el ticket de acceso no me deja borrar este archivo. No me doy cuenta donde se queda "pegado" en otro proceso
Saludos