public TRetInutNFe InutilizaNumeracao(TInutNFe InutNFe, X509Certificate2 pCertificado, TAmb ambiente) { C_WebService.ListaUrl listaURL = default(C_WebService.ListaUrl); string arqRetInut = _PastaLog + InutNFe.infInut.ano + InutNFe.infInut.CNPJ + InutNFe.infInut.mod + InutNFe.infInut.serie + InutNFe.infInut.nNFIni + InutNFe.infInut.nNFFin + "-inu.xml"; string arqPedInut = _PastaLog + InutNFe.infInut.cUF + InutNFe.infInut.ano + InutNFe.infInut.CNPJ + InutNFe.infInut.mod + InutNFe.infInut.serie + InutNFe.infInut.nNFIni + InutNFe.infInut.nNFFin + "-ped-inu.xml"; listaURL = WsUrls.BuscaURL(InutNFe.infInut.cUF, ambiente); XmlDocument xmldoc = new XmlDocument(); xmldoc.LoadXml(Funcoes.RemoveNameSpaceFromXml(InutNFe.Serialize())); xmldoc = CertificadoDigital.Assinar(xmldoc, "infInut", pCertificado); xmldoc.Save(arqPedInut); try { Inutilizacao2.nfeCabecMsg cab = new Inutilizacao2.nfeCabecMsg(); Inutilizacao2.NfeInutilizacao2 wsMsg = default(Inutilizacao2.NfeInutilizacao2); // UF E VERSÃO DO CABEÇALHO cab.cUF = PegarCodigoUF(InutNFe.infInut.cUF); cab.versaoDados = InutNFe.versao; //CABEÇALHO USADA PARA ENVIO DE LOTE wsMsg = new Inutilizacao2.NfeInutilizacao2(listaURL.UrlNfeInutilizacao); wsMsg.nfeCabecMsgValue = cab; wsMsg.Timeout = 100000; wsMsg.ClientCertificates.Add(pCertificado); wsMsg.SoapVersion = SoapProtocolVersion.Soap12; //RETORNO DA SEFAZ XmlNode strRetorno = wsMsg.nfeInutilizacaoNF2(xmldoc); XmlDocument xmlRetorno = new XmlDocument(); xmlRetorno.LoadXml(strRetorno.OuterXml); xmlRetorno.Save(arqRetInut); TRetInutNFe retInutNFe = new TRetInutNFe(); retInutNFe = TRetInutNFe.LoadFromFile(arqRetInut); return(retInutNFe); } catch (Exception ex) { throw new System.InvalidOperationException("Erro ao inutilizar numeração. Erro: " + ex.Message); } }
public TRetInutNFe InutilizaNumeracao(TInutNFe InutNFe, X509Certificate2 pCertificado, TAmb ambiente) { C_WebService.ListaUrl listaURL = default(C_WebService.ListaUrl); string arqRetInut = _PastaLog + InutNFe.infInut.ano + InutNFe.infInut.CNPJ + InutNFe.infInut.mod + InutNFe.infInut.serie + InutNFe.infInut.nNFIni + InutNFe.infInut.nNFFin + "-inu.xml"; string arqPedInut = _PastaLog + InutNFe.infInut.cUF + InutNFe.infInut.ano + InutNFe.infInut.CNPJ + InutNFe.infInut.mod + InutNFe.infInut.serie + InutNFe.infInut.nNFIni + InutNFe.infInut.nNFFin + "-ped-inu.xml"; listaURL = WsUrls.BuscaURL(InutNFe.infInut.cUF, ambiente); XmlDocument xmldoc = new XmlDocument(); xmldoc.LoadXml(Funcoes.RemoveNameSpaceFromXml(InutNFe.Serialize())); xmldoc = CertificadoDigital.Assinar(xmldoc, "infInut", pCertificado); xmldoc.Save(arqPedInut); try { Inutilizacao2.nfeCabecMsg cab = new Inutilizacao2.nfeCabecMsg(); Inutilizacao2.NfeInutilizacao2 wsMsg = default(Inutilizacao2.NfeInutilizacao2); // UF E VERSÃO DO CABEÇALHO cab.cUF = PegarCodigoUF(InutNFe.infInut.cUF); cab.versaoDados = InutNFe.versao; //CABEÇALHO USADA PARA ENVIO DE LOTE wsMsg = new Inutilizacao2.NfeInutilizacao2(listaURL.UrlNfeInutilizacao); wsMsg.nfeCabecMsgValue = cab; wsMsg.Timeout = 100000; wsMsg.ClientCertificates.Add(pCertificado); wsMsg.SoapVersion = SoapProtocolVersion.Soap12; //RETORNO DA SEFAZ XmlNode strRetorno = wsMsg.nfeInutilizacaoNF2(xmldoc); XmlDocument xmlRetorno = new XmlDocument(); xmlRetorno.LoadXml(strRetorno.OuterXml); xmlRetorno.Save(arqRetInut); TRetInutNFe retInutNFe = new TRetInutNFe(); retInutNFe = TRetInutNFe.LoadFromFile(arqRetInut); return retInutNFe; } catch (Exception ex) { throw new System.InvalidOperationException("Erro ao inutilizar numeração. Erro: " + ex.Message); } }