A tag uTrib está presente.
Trata-se de uma aplicação WPF (um PDV ou Ponto de Venda) que usa a biblioteca ZeusAutomação.
A função abaixo gera um arquivo xml que é mandado pro SEFAZ e obtém o retorno
Penso que devo remover as quebras de linha depois que a string xmlEnvio é gerada?
private RetornoNFeAutorizacao NFeAutorizacao4(int idLote, IndicadorSincronizacao indSinc, List<Classes.NFe> nFes, bool compactarMensagem)
{
var versaoServico = ServicoNFe.NFeAutorizacao.VersaoServicoParaString(_cFgServico.VersaoNFeAutorizacao);
#region Cria o objeto wdsl para consulta
var ws = CriarServicoAutorizacao(ServicoNFe.NFeAutorizacao);
#endregion
#region Cria o objeto enviNFe
var pedEnvio = new enviNFe4(versaoServico, idLote, indSinc, nFes);
#endregion
#region Valida, Envia os dados e obtém a resposta
var xmlEnvio = _cFgServico.RemoverAcentos
? pedEnvio.ObterXmlString().RemoverAcentos()
: pedEnvio.ObterXmlString();
if (_cFgServico.cUF == Estado.PR)
//Caso o lote seja enviado para o PR, colocar o namespace nos elementos <NFe> do lote, pois o serviço do PR o exige, conforme https://github.com/adeniltonbs/Zeus.Net.NFe.NFCe/issues/33
xmlEnvio = xmlEnvio.Replace("<NFe>", "<NFe xmlns=\"http://www.portalfiscal.inf.br/nfe\">");
xmlEnvio = xmlEnvio.Replace("<cEAN/>", "<cEAN>SEM GTIN</cEAN>");
xmlEnvio = xmlEnvio.Replace("<cEAN />", "<cEAN>SEM GTIN</cEAN>");
xmlEnvio = xmlEnvio.Replace(" />", "/>");
xmlEnvio = RemoverCaracteresEspeciais(xmlEnvio);
Validador.Valida(ServicoNFe.NFeAutorizacao, _cFgServico.VersaoNFeAutorizacao, xmlEnvio, cfgServico: _cFgServico);
var dadosEnvio = new XmlDocument();
dadosEnvio.LoadXml(xmlEnvio);
SalvarArquivoXml(idLote + "-env-lot.xml", xmlEnvio);
XmlNode retorno;
try
{
if (compactarMensagem)
{
var xmlCompactado = Convert.ToBase64String(Compressao.Zip(xmlEnvio));
retorno = ws.ExecuteZip(xmlCompactado);
}
else
{
retorno = ws.Execute(dadosEnvio);
}
}
catch (WebException ex)
{
throw FabricaComunicacaoException.ObterException(ServicoNFe.NFeAutorizacao, ex);
}