Ejemplo n.º 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="parametros"></param>
        /// <returns></returns>
        public Request newConsultaRequestAutenticacion(Parametros parametros)
        {
            ISerializador <AutenticacionMeta> autenticacion = new AutenticacionSerializador();


            UriBuilder uriBuilder = newBaseURIBuilder();

            uriBuilder.Scheme = this.wsSchema;
            uriBuilder.Host   = this.wsHost;
            uriBuilder.Path   = this.wsPath;


            Request request = new Request(new Uri(uriBuilder.ToString()),
                                          Request.HttpMethod.POST,
                                          autenticacion.Serializador(parametros));

            request.SoapActionPath = "http://DescargaMasivaTerceros.gob.mx/IAutenticacion/Autentica";

            return(request);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Solicitamos la autenticación al SAT, esto nos devolvera el token para seguir utilizando las peticiones.
        /// TODO: Cada 5 minutos se tiene que crear un nuevo token.
        /// </summary>
        /// <param name="parametro"></param>
        /// <returns></returns>
        public IAutenticacion autenticar(Parametros parametro)
        {
            Request request = _requestFactory.newConsultaRequestAutenticacion(parametro);

            Response response = _userAgent.open(request);

            if (response.getCode() != 200)
            {
                throw new Exception("Ocurrió un error al "
                                    + "comunicarse con el servidor de descarga masiva del SAT ."
                                    + "Código del servidor: "
                                    + response.getCode());
            }


            AutenticacionSerializador autenticador      = new AutenticacionSerializador();
            AutenticacionMeta         autenticacionMeta = autenticador.Deserializador(response.getXML());

            IAutenticacion autenticacion = new AutenticacionImpl(_requestFactory, _userAgent, autenticacionMeta.IdToken);

            return(autenticacion);
        }