/// <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); } }
/// <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); } }