Ejemplo n.º 1
0
        /// <summary>
        ///     Obtem resposta do serviço
        ///     <para>Um arquivo Xml com o nó [nfeResultMsg] é retornado</para>
        /// </summary>
        /// <param name="webRequest"></param>
        /// <returns></returns>
        public string ObterResposta(HttpWebRequest webRequest)
        {
            try
            {
                using (var response = webRequest.GetResponse())
                {
                    using (var streamReader = new StreamReader(response.GetResponseStream()))
                    {
                        var resposta     = streamReader.ReadToEnd();
                        var nfeResultMsg = Utils.ObterNodeDeStringXml("nfeResultMsg", resposta);
                        return(nfeResultMsg);
                    }
                }
            }


            catch (WebException ex)
            {
                var msg = $"Ocorreu uma falha ao executar o serviço [{_nomeServico}]";
                Utils.TraceException(ex, msg);
                throw FalhaFabricaComunicacaoException.ObterException(_nomeServico, ex);
            }

            catch (Exception ex)
            {
                var msg = $"Ocorreu uma falha ao executar o serviço [{_nomeServico}]";
                Utils.TraceException(ex, msg);
                throw new FalhaContingenciaWebException(_nomeServico, ex);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        ///     Obtem resposta do serviço
        ///     <para>Um arquivo Xml com o nó [nfeResultMsg] é retornado</para>
        /// </summary>
        /// <param name="webRequest"></param>
        /// <returns></returns>
        public async Task <string> ObterRespostaAsync(HttpWebRequest webRequest)
        {
            try
            {
                var httpResponse = (HttpWebResponse)await webRequest.GetResponseAsync();

                using (var responseStream = httpResponse.GetResponseStream())
                {
                    var resposta     = new StreamReader(responseStream ?? throw new InvalidOperationException()).ReadToEnd();
                    var nfeResultMsg = Utils.ObterNodeDeStringXml("nfeResultMsg", resposta);
                    return(nfeResultMsg);
                }
            }
            catch (WebException ex)
            {
                var msg = $"Ocorreu uma falha ao executar o serviço [{_nomeServico}]";
                Utils.TraceException(ex, msg);
                throw FalhaFabricaComunicacaoException.ObterException(_nomeServico, ex);
            }
        }