public DadosRetorno InutilizaNumeracao()
        {
            try
            {
                string sRetorno = string.Empty;
                NfeDadosMgs();
                if (Acesso.TP_EMIS == 1)
                {
                    switch (Acesso.xUFtoWS)
                    {
                        case "SP":
                            {
                                if (Acesso.TP_AMB == 1)
                                {
                                    HLP.GeraXml.WebService.v2_Producao_NFeInutilizacao_SP.nfeCabecMsg cabec = new HLP.GeraXml.WebService.v2_Producao_NFeInutilizacao_SP.nfeCabecMsg();
                                    HLP.GeraXml.WebService.v2_Producao_NFeInutilizacao_SP.NfeInutilizacao2 ws2 = new HLP.GeraXml.WebService.v2_Producao_NFeInutilizacao_SP.NfeInutilizacao2();
                                    cabec.cUF = Acesso.cUF.ToString();
                                    cabec.versaoDados = Acesso.versaoNFe;
                                    ws2.ClientCertificates.Add(Acesso.cert_NFe);
                                    ws2.nfeCabecMsgValue = cabec;

                                    XmlDocument xmlInut = new XmlDocument();
                                    xmlInut.Load(_sPath);
                                    XmlNode xNodeInut = xmlInut.DocumentElement;
                                    sRetorno = ws2.nfeInutilizacaoNF2(xNodeInut).OuterXml;

                                }
                                else
                                {
                                    HLP.GeraXml.WebService.v2_Homologacao_NFeInutilizacao_SP.nfeCabecMsg cabec = new HLP.GeraXml.WebService.v2_Homologacao_NFeInutilizacao_SP.nfeCabecMsg();
                                    HLP.GeraXml.WebService.v2_Homologacao_NFeInutilizacao_SP.NfeInutilizacao2 ws2 = new HLP.GeraXml.WebService.v2_Homologacao_NFeInutilizacao_SP.NfeInutilizacao2();
                                    cabec.cUF = Acesso.cUF.ToString();
                                    cabec.versaoDados = "2.00";
                                    ws2.ClientCertificates.Add(Acesso.cert_NFe);
                                    ws2.nfeCabecMsgValue = cabec;

                                    XmlDocument xmlInut = new XmlDocument();
                                    xmlInut.Load(_sPath);
                                    XmlNode xNodeInut = xmlInut.DocumentElement;
                                    sRetorno = ws2.nfeInutilizacaoNF2(xNodeInut).OuterXml;

                                }
                            }
                            break;
                        case "MS":
                            {
                                if (Acesso.TP_AMB == 1)
                                {
                                    HLP.GeraXml.WebService.v2_Producao_NFeInutilizacao_MS.nfeCabecMsg cabec = new HLP.GeraXml.WebService.v2_Producao_NFeInutilizacao_MS.nfeCabecMsg();
                                    HLP.GeraXml.WebService.v2_Producao_NFeInutilizacao_MS.NfeInutilizacao2 ws2 = new HLP.GeraXml.WebService.v2_Producao_NFeInutilizacao_MS.NfeInutilizacao2();
                                    cabec.cUF = Acesso.cUF.ToString();
                                    cabec.versaoDados = Acesso.versaoNFe;
                                    ws2.ClientCertificates.Add(Acesso.cert_NFe);
                                    ws2.nfeCabecMsgValue = cabec;

                                    XmlDocument xmlInut = new XmlDocument();
                                    xmlInut.Load(_sPath);
                                    XmlNode xNodeInut = xmlInut.DocumentElement;
                                    sRetorno = ws2.nfeInutilizacaoNF2(xNodeInut).OuterXml;

                                }
                                else
                                {
                                    HLP.GeraXml.WebService.v2_Homologacao_NFeInutilizacao_MS.nfeCabecMsg cabec = new HLP.GeraXml.WebService.v2_Homologacao_NFeInutilizacao_MS.nfeCabecMsg();
                                    HLP.GeraXml.WebService.v2_Homologacao_NFeInutilizacao_MS.NfeInutilizacao2 ws2 = new HLP.GeraXml.WebService.v2_Homologacao_NFeInutilizacao_MS.NfeInutilizacao2();
                                    cabec.cUF = Acesso.cUF.ToString();
                                    cabec.versaoDados = "2.00";
                                    ws2.ClientCertificates.Add(Acesso.cert_NFe);
                                    ws2.nfeCabecMsgValue = cabec;

                                    XmlDocument xmlInut = new XmlDocument();
                                    xmlInut.Load(_sPath);
                                    XmlNode xNodeInut = xmlInut.DocumentElement;
                                    sRetorno = ws2.nfeInutilizacaoNF2(xNodeInut).OuterXml;

                                }
                            }
                            break;
                        case "RS":
                            {
                                if (Acesso.TP_AMB == 1)
                                {
                                    HLP.GeraXml.WebService.v2_Producao_NFeInutilizacao_RS.nfeCabecMsg cabec = new HLP.GeraXml.WebService.v2_Producao_NFeInutilizacao_RS.nfeCabecMsg();
                                    HLP.GeraXml.WebService.v2_Producao_NFeInutilizacao_RS.NfeInutilizacao2 ws2 = new HLP.GeraXml.WebService.v2_Producao_NFeInutilizacao_RS.NfeInutilizacao2();
                                    cabec.cUF = Acesso.cUF.ToString();
                                    cabec.versaoDados = Acesso.versaoNFe;
                                    ws2.ClientCertificates.Add(Acesso.cert_NFe);
                                    ws2.nfeCabecMsgValue = cabec;

                                    XmlDocument xmlInut = new XmlDocument();
                                    xmlInut.Load(_sPath);
                                    XmlNode xNodeInut = xmlInut.DocumentElement;
                                    sRetorno = ws2.nfeInutilizacaoNF2(xNodeInut).OuterXml;

                                }
                                else
                                {
                                    HLP.GeraXml.WebService.v2_Homologacao_NFeInutilizacao_RS.nfeCabecMsg cabec = new HLP.GeraXml.WebService.v2_Homologacao_NFeInutilizacao_RS.nfeCabecMsg();
                                    HLP.GeraXml.WebService.v2_Homologacao_NFeInutilizacao_RS.NfeInutilizacao2 ws2 = new HLP.GeraXml.WebService.v2_Homologacao_NFeInutilizacao_RS.NfeInutilizacao2();
                                    cabec.cUF = Acesso.cUF.ToString();
                                    cabec.versaoDados = "2.00";
                                    ws2.ClientCertificates.Add(Acesso.cert_NFe);
                                    ws2.nfeCabecMsgValue = cabec;

                                    XmlDocument xmlInut = new XmlDocument();
                                    xmlInut.Load(_sPath);
                                    XmlNode xNodeInut = xmlInut.DocumentElement;
                                    sRetorno = ws2.nfeInutilizacaoNF2(xNodeInut).OuterXml;

                                }
                            }
                            break;
                        case "SVRS":
                            {
                                if (Acesso.TP_AMB == 1)
                                {
                                    HLP.GeraXml.WebService.V2_Producao_Inutilizacao_SVRS.nfeCabecMsg cabec = new HLP.GeraXml.WebService.V2_Producao_Inutilizacao_SVRS.nfeCabecMsg();
                                    HLP.GeraXml.WebService.V2_Producao_Inutilizacao_SVRS.NfeInutilizacao2 ws2 = new HLP.GeraXml.WebService.V2_Producao_Inutilizacao_SVRS.NfeInutilizacao2();
                                    cabec.cUF = Acesso.cUF.ToString();
                                    cabec.versaoDados = Acesso.versaoNFe;
                                    ws2.ClientCertificates.Add(Acesso.cert_NFe);
                                    ws2.nfeCabecMsgValue = cabec;

                                    XmlDocument xmlInut = new XmlDocument();
                                    xmlInut.Load(_sPath);
                                    XmlNode xNodeInut = xmlInut.DocumentElement;
                                    sRetorno = ws2.nfeInutilizacaoNF2(xNodeInut).OuterXml;

                                }
                                else
                                {
                                    HLP.GeraXml.WebService.V2_Homologacao_Inutilizacao_SVRS.nfeCabecMsg cabec = new HLP.GeraXml.WebService.V2_Homologacao_Inutilizacao_SVRS.nfeCabecMsg();
                                    HLP.GeraXml.WebService.V2_Homologacao_Inutilizacao_SVRS.NfeInutilizacao2 ws2 = new HLP.GeraXml.WebService.V2_Homologacao_Inutilizacao_SVRS.NfeInutilizacao2();
                                    cabec.cUF = Acesso.cUF.ToString();
                                    cabec.versaoDados = "2.00";
                                    ws2.ClientCertificates.Add(Acesso.cert_NFe);
                                    ws2.nfeCabecMsgValue = cabec;

                                    XmlDocument xmlInut = new XmlDocument();
                                    xmlInut.Load(_sPath);
                                    XmlNode xNodeInut = xmlInut.DocumentElement;
                                    sRetorno = ws2.nfeInutilizacaoNF2(xNodeInut).OuterXml;

                                }
                            }
                            break;
                        case "MG":
                            {
                                if (Acesso.TP_AMB == 1)
                                {
                                    HLP.GeraXml.WebService.v2_Producao_NfeInutilizacao_MG.nfeCabecMsg cabec = new HLP.GeraXml.WebService.v2_Producao_NfeInutilizacao_MG.nfeCabecMsg();
                                    HLP.GeraXml.WebService.v2_Producao_NfeInutilizacao_MG.NfeInutilizacao2 ws2 = new HLP.GeraXml.WebService.v2_Producao_NfeInutilizacao_MG.NfeInutilizacao2();
                                    cabec.cUF = Acesso.cUF.ToString();
                                    cabec.versaoDados = Acesso.versaoNFe;
                                    ws2.ClientCertificates.Add(Acesso.cert_NFe);
                                    ws2.nfeCabecMsgValue = cabec;

                                    XmlDocument xmlInut = new XmlDocument();
                                    xmlInut.Load(_sPath);
                                    XmlNode xNodeInut = xmlInut.DocumentElement;
                                    sRetorno = ws2.nfeInutilizacaoNF2(xNodeInut).OuterXml;

                                }
                                else
                                {
                                    HLP.GeraXml.WebService.v2_Homologacao_NfeInutilizacao_MG.nfeCabecMsg cabec = new HLP.GeraXml.WebService.v2_Homologacao_NfeInutilizacao_MG.nfeCabecMsg();
                                    HLP.GeraXml.WebService.v2_Homologacao_NfeInutilizacao_MG.NfeInutilizacao2 ws2 = new HLP.GeraXml.WebService.v2_Homologacao_NfeInutilizacao_MG.NfeInutilizacao2();
                                    cabec.cUF = Acesso.cUF.ToString();
                                    cabec.versaoDados = "2.00";
                                    ws2.ClientCertificates.Add(Acesso.cert_NFe);
                                    ws2.nfeCabecMsgValue = cabec;

                                    XmlDocument xmlInut = new XmlDocument();
                                    xmlInut.Load(_sPath);
                                    XmlNode xNodeInut = xmlInut.DocumentElement;
                                    sRetorno = ws2.nfeInutilizacaoNF2(xNodeInut).OuterXml;

                                }
                            }
                            break;
                    }
                }
                else if (Acesso.TP_EMIS == 3)
                {
                    if (Acesso.TP_AMB == 1)
                    {
                        HLP.GeraXml.WebService.v2_SCAN_Producao_NFeInutilizacao.nfeCabecMsg cabec = new HLP.GeraXml.WebService.v2_SCAN_Producao_NFeInutilizacao.nfeCabecMsg();
                        HLP.GeraXml.WebService.v2_SCAN_Producao_NFeInutilizacao.NfeInutilizacao2 ws2 = new HLP.GeraXml.WebService.v2_SCAN_Producao_NFeInutilizacao.NfeInutilizacao2();
                        cabec.cUF = Acesso.cUF.ToString();
                        cabec.versaoDados = Acesso.versaoNFe;
                        ws2.ClientCertificates.Add(Acesso.cert_NFe);
                        ws2.nfeCabecMsgValue = cabec;
                        XmlDocument xmlInut = new XmlDocument();
                        xmlInut.Load(_sPath);
                        XmlNode xNodeInut = xmlInut.DocumentElement;
                        sRetorno = ws2.nfeInutilizacaoNF2(xNodeInut).OuterXml;

                    }
                    else
                    {
                        HLP.GeraXml.WebService.v2_SCAN_Homologacao_NFeInutilizacao.nfeCabecMsg cabec = new HLP.GeraXml.WebService.v2_SCAN_Homologacao_NFeInutilizacao.nfeCabecMsg();
                        HLP.GeraXml.WebService.v2_SCAN_Homologacao_NFeInutilizacao.NfeInutilizacao2 ws2 = new HLP.GeraXml.WebService.v2_SCAN_Homologacao_NFeInutilizacao.NfeInutilizacao2();
                        cabec.cUF = Acesso.cUF.ToString();
                        cabec.versaoDados = Acesso.versaoNFe;
                        ws2.ClientCertificates.Add(Acesso.cert_NFe);
                        ws2.nfeCabecMsgValue = cabec;
                        XmlDocument xmlInut = new XmlDocument();
                        xmlInut.Load(_sPath);
                        XmlNode xNodeInut = xmlInut.DocumentElement;
                        sRetorno = ws2.nfeInutilizacaoNF2(xNodeInut).OuterXml;
                    }
                }
                else if (Acesso.TP_EMIS == 6)
                {
                        throw new Exception("Homologação não permitida para o modo SVC-AN");
                }

                DadosRetorno ret = new DadosRetorno();
                XmlDocument xmldoc = new XmlDocument();
                xmldoc.LoadXml(sRetorno);
                ret.tpAmb = (xmldoc.GetElementsByTagName("tpAmb")[0] != null ? xmldoc.GetElementsByTagName("tpAmb")[0].InnerText : "");
                ret.cStat = (xmldoc.GetElementsByTagName("cStat")[0] != null ? xmldoc.GetElementsByTagName("cStat")[0].InnerText : "");
                ret.xMotivo = (xmldoc.GetElementsByTagName("xMotivo")[0] != null ? xmldoc.GetElementsByTagName("xMotivo")[0].InnerText : "");
                ret.ano = (xmldoc.GetElementsByTagName("ano")[0] != null ? xmldoc.GetElementsByTagName("ano")[0].InnerText : "");
                ret.mod = (xmldoc.GetElementsByTagName("mod")[0] != null ? xmldoc.GetElementsByTagName("mod")[0].InnerText : "");
                ret.serie = (xmldoc.GetElementsByTagName("serie")[0] != null ? xmldoc.GetElementsByTagName("serie")[0].InnerText : "");
                ret.nNFIni = (xmldoc.GetElementsByTagName("nNFIni")[0] != null ? xmldoc.GetElementsByTagName("nNFIni")[0].InnerText : "");
                ret.nNFFin = (xmldoc.GetElementsByTagName("nNFFin")[0] != null ? xmldoc.GetElementsByTagName("nNFFin")[0].InnerText : "");
                ret.dhRecbto = (xmldoc.GetElementsByTagName("dhRecbto")[0] != null ? xmldoc.GetElementsByTagName("dhRecbto")[0].InnerText.Replace('T', ' ') : "");
                ret.nProt = (xmldoc.GetElementsByTagName("nProt")[0] != null ? xmldoc.GetElementsByTagName("nProt")[0].InnerText : "");

                if (ret.cStat.Equals("102"))
                {
                    xmldoc.Save(Pastas.PROTOCOLOS + "\\" + ret.nProt + "_inu.xml");
                    InseriRegistroInutilizado(_nnfini, _nnffim, _serie, _sjust);                 
                }

                return ret;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #2
0
        public DadosRetorno InutilizaNumeracao()
        {
            try
            {
                string sRetorno = string.Empty;
                NfeDadosMgs();
                if (Acesso.TP_EMIS == 1)
                {
                    switch (Acesso.xUFtoWS)
                    {
                    case "SP":
                    {
                        if (Acesso.TP_AMB == 1)
                        {
                            HLP.GeraXml.WebService.v2_Producao_NFeInutilizacao_SP.nfeCabecMsg      cabec = new HLP.GeraXml.WebService.v2_Producao_NFeInutilizacao_SP.nfeCabecMsg();
                            HLP.GeraXml.WebService.v2_Producao_NFeInutilizacao_SP.NfeInutilizacao2 ws2   = new HLP.GeraXml.WebService.v2_Producao_NFeInutilizacao_SP.NfeInutilizacao2();
                            cabec.cUF         = Acesso.cUF.ToString();
                            cabec.versaoDados = Acesso.versaoNFe;
                            ws2.ClientCertificates.Add(Acesso.cert_NFe);
                            ws2.nfeCabecMsgValue = cabec;

                            XmlDocument xmlInut = new XmlDocument();
                            xmlInut.Load(_sPath);
                            XmlNode xNodeInut = xmlInut.DocumentElement;
                            sRetorno = ws2.nfeInutilizacaoNF2(xNodeInut).OuterXml;
                        }
                        else
                        {
                            HLP.GeraXml.WebService.v2_Homologacao_NFeInutilizacao_SP.nfeCabecMsg      cabec = new HLP.GeraXml.WebService.v2_Homologacao_NFeInutilizacao_SP.nfeCabecMsg();
                            HLP.GeraXml.WebService.v2_Homologacao_NFeInutilizacao_SP.NfeInutilizacao2 ws2   = new HLP.GeraXml.WebService.v2_Homologacao_NFeInutilizacao_SP.NfeInutilizacao2();
                            cabec.cUF         = Acesso.cUF.ToString();
                            cabec.versaoDados = "2.00";
                            ws2.ClientCertificates.Add(Acesso.cert_NFe);
                            ws2.nfeCabecMsgValue = cabec;

                            XmlDocument xmlInut = new XmlDocument();
                            xmlInut.Load(_sPath);
                            XmlNode xNodeInut = xmlInut.DocumentElement;
                            sRetorno = ws2.nfeInutilizacaoNF2(xNodeInut).OuterXml;
                        }
                    }
                    break;

                    case "MS":
                    {
                        if (Acesso.TP_AMB == 1)
                        {
                            HLP.GeraXml.WebService.v2_Producao_NFeInutilizacao_MS.nfeCabecMsg      cabec = new HLP.GeraXml.WebService.v2_Producao_NFeInutilizacao_MS.nfeCabecMsg();
                            HLP.GeraXml.WebService.v2_Producao_NFeInutilizacao_MS.NfeInutilizacao2 ws2   = new HLP.GeraXml.WebService.v2_Producao_NFeInutilizacao_MS.NfeInutilizacao2();
                            cabec.cUF         = Acesso.cUF.ToString();
                            cabec.versaoDados = Acesso.versaoNFe;
                            ws2.ClientCertificates.Add(Acesso.cert_NFe);
                            ws2.nfeCabecMsgValue = cabec;

                            XmlDocument xmlInut = new XmlDocument();
                            xmlInut.Load(_sPath);
                            XmlNode xNodeInut = xmlInut.DocumentElement;
                            sRetorno = ws2.nfeInutilizacaoNF2(xNodeInut).OuterXml;
                        }
                        else
                        {
                            HLP.GeraXml.WebService.v2_Homologacao_NFeInutilizacao_MS.nfeCabecMsg      cabec = new HLP.GeraXml.WebService.v2_Homologacao_NFeInutilizacao_MS.nfeCabecMsg();
                            HLP.GeraXml.WebService.v2_Homologacao_NFeInutilizacao_MS.NfeInutilizacao2 ws2   = new HLP.GeraXml.WebService.v2_Homologacao_NFeInutilizacao_MS.NfeInutilizacao2();
                            cabec.cUF         = Acesso.cUF.ToString();
                            cabec.versaoDados = "2.00";
                            ws2.ClientCertificates.Add(Acesso.cert_NFe);
                            ws2.nfeCabecMsgValue = cabec;

                            XmlDocument xmlInut = new XmlDocument();
                            xmlInut.Load(_sPath);
                            XmlNode xNodeInut = xmlInut.DocumentElement;
                            sRetorno = ws2.nfeInutilizacaoNF2(xNodeInut).OuterXml;
                        }
                    }
                    break;

                    case "RS":
                    {
                        if (Acesso.TP_AMB == 1)
                        {
                            HLP.GeraXml.WebService.v2_Producao_NFeInutilizacao_RS.nfeCabecMsg      cabec = new HLP.GeraXml.WebService.v2_Producao_NFeInutilizacao_RS.nfeCabecMsg();
                            HLP.GeraXml.WebService.v2_Producao_NFeInutilizacao_RS.NfeInutilizacao2 ws2   = new HLP.GeraXml.WebService.v2_Producao_NFeInutilizacao_RS.NfeInutilizacao2();
                            cabec.cUF         = Acesso.cUF.ToString();
                            cabec.versaoDados = Acesso.versaoNFe;
                            ws2.ClientCertificates.Add(Acesso.cert_NFe);
                            ws2.nfeCabecMsgValue = cabec;

                            XmlDocument xmlInut = new XmlDocument();
                            xmlInut.Load(_sPath);
                            XmlNode xNodeInut = xmlInut.DocumentElement;
                            sRetorno = ws2.nfeInutilizacaoNF2(xNodeInut).OuterXml;
                        }
                        else
                        {
                            HLP.GeraXml.WebService.v2_Homologacao_NFeInutilizacao_RS.nfeCabecMsg      cabec = new HLP.GeraXml.WebService.v2_Homologacao_NFeInutilizacao_RS.nfeCabecMsg();
                            HLP.GeraXml.WebService.v2_Homologacao_NFeInutilizacao_RS.NfeInutilizacao2 ws2   = new HLP.GeraXml.WebService.v2_Homologacao_NFeInutilizacao_RS.NfeInutilizacao2();
                            cabec.cUF         = Acesso.cUF.ToString();
                            cabec.versaoDados = "2.00";
                            ws2.ClientCertificates.Add(Acesso.cert_NFe);
                            ws2.nfeCabecMsgValue = cabec;

                            XmlDocument xmlInut = new XmlDocument();
                            xmlInut.Load(_sPath);
                            XmlNode xNodeInut = xmlInut.DocumentElement;
                            sRetorno = ws2.nfeInutilizacaoNF2(xNodeInut).OuterXml;
                        }
                    }
                    break;

                    case "SVRS":
                    {
                        if (Acesso.TP_AMB == 1)
                        {
                            HLP.GeraXml.WebService.V2_Producao_Inutilizacao_SVRS.nfeCabecMsg      cabec = new HLP.GeraXml.WebService.V2_Producao_Inutilizacao_SVRS.nfeCabecMsg();
                            HLP.GeraXml.WebService.V2_Producao_Inutilizacao_SVRS.NfeInutilizacao2 ws2   = new HLP.GeraXml.WebService.V2_Producao_Inutilizacao_SVRS.NfeInutilizacao2();
                            cabec.cUF         = Acesso.cUF.ToString();
                            cabec.versaoDados = Acesso.versaoNFe;
                            ws2.ClientCertificates.Add(Acesso.cert_NFe);
                            ws2.nfeCabecMsgValue = cabec;

                            XmlDocument xmlInut = new XmlDocument();
                            xmlInut.Load(_sPath);
                            XmlNode xNodeInut = xmlInut.DocumentElement;
                            sRetorno = ws2.nfeInutilizacaoNF2(xNodeInut).OuterXml;
                        }
                        else
                        {
                            HLP.GeraXml.WebService.V2_Homologacao_Inutilizacao_SVRS.nfeCabecMsg      cabec = new HLP.GeraXml.WebService.V2_Homologacao_Inutilizacao_SVRS.nfeCabecMsg();
                            HLP.GeraXml.WebService.V2_Homologacao_Inutilizacao_SVRS.NfeInutilizacao2 ws2   = new HLP.GeraXml.WebService.V2_Homologacao_Inutilizacao_SVRS.NfeInutilizacao2();
                            cabec.cUF         = Acesso.cUF.ToString();
                            cabec.versaoDados = "2.00";
                            ws2.ClientCertificates.Add(Acesso.cert_NFe);
                            ws2.nfeCabecMsgValue = cabec;

                            XmlDocument xmlInut = new XmlDocument();
                            xmlInut.Load(_sPath);
                            XmlNode xNodeInut = xmlInut.DocumentElement;
                            sRetorno = ws2.nfeInutilizacaoNF2(xNodeInut).OuterXml;
                        }
                    }
                    break;

                    case "MG":
                    {
                        if (Acesso.TP_AMB == 1)
                        {
                            HLP.GeraXml.WebService.v2_Producao_NfeInutilizacao_MG.nfeCabecMsg      cabec = new HLP.GeraXml.WebService.v2_Producao_NfeInutilizacao_MG.nfeCabecMsg();
                            HLP.GeraXml.WebService.v2_Producao_NfeInutilizacao_MG.NfeInutilizacao2 ws2   = new HLP.GeraXml.WebService.v2_Producao_NfeInutilizacao_MG.NfeInutilizacao2();
                            cabec.cUF         = Acesso.cUF.ToString();
                            cabec.versaoDados = Acesso.versaoNFe;
                            ws2.ClientCertificates.Add(Acesso.cert_NFe);
                            ws2.nfeCabecMsgValue = cabec;

                            XmlDocument xmlInut = new XmlDocument();
                            xmlInut.Load(_sPath);
                            XmlNode xNodeInut = xmlInut.DocumentElement;
                            sRetorno = ws2.nfeInutilizacaoNF2(xNodeInut).OuterXml;
                        }
                        else
                        {
                            HLP.GeraXml.WebService.v2_Homologacao_NfeInutilizacao_MG.nfeCabecMsg      cabec = new HLP.GeraXml.WebService.v2_Homologacao_NfeInutilizacao_MG.nfeCabecMsg();
                            HLP.GeraXml.WebService.v2_Homologacao_NfeInutilizacao_MG.NfeInutilizacao2 ws2   = new HLP.GeraXml.WebService.v2_Homologacao_NfeInutilizacao_MG.NfeInutilizacao2();
                            cabec.cUF         = Acesso.cUF.ToString();
                            cabec.versaoDados = "2.00";
                            ws2.ClientCertificates.Add(Acesso.cert_NFe);
                            ws2.nfeCabecMsgValue = cabec;

                            XmlDocument xmlInut = new XmlDocument();
                            xmlInut.Load(_sPath);
                            XmlNode xNodeInut = xmlInut.DocumentElement;
                            sRetorno = ws2.nfeInutilizacaoNF2(xNodeInut).OuterXml;
                        }
                    }
                    break;
                    }
                }
                else if (Acesso.TP_EMIS == 3)
                {
                    if (Acesso.TP_AMB == 1)
                    {
                        HLP.GeraXml.WebService.v2_SCAN_Producao_NFeInutilizacao.nfeCabecMsg      cabec = new HLP.GeraXml.WebService.v2_SCAN_Producao_NFeInutilizacao.nfeCabecMsg();
                        HLP.GeraXml.WebService.v2_SCAN_Producao_NFeInutilizacao.NfeInutilizacao2 ws2   = new HLP.GeraXml.WebService.v2_SCAN_Producao_NFeInutilizacao.NfeInutilizacao2();
                        cabec.cUF         = Acesso.cUF.ToString();
                        cabec.versaoDados = Acesso.versaoNFe;
                        ws2.ClientCertificates.Add(Acesso.cert_NFe);
                        ws2.nfeCabecMsgValue = cabec;
                        XmlDocument xmlInut = new XmlDocument();
                        xmlInut.Load(_sPath);
                        XmlNode xNodeInut = xmlInut.DocumentElement;
                        sRetorno = ws2.nfeInutilizacaoNF2(xNodeInut).OuterXml;
                    }
                    else
                    {
                        HLP.GeraXml.WebService.v2_SCAN_Homologacao_NFeInutilizacao.nfeCabecMsg      cabec = new HLP.GeraXml.WebService.v2_SCAN_Homologacao_NFeInutilizacao.nfeCabecMsg();
                        HLP.GeraXml.WebService.v2_SCAN_Homologacao_NFeInutilizacao.NfeInutilizacao2 ws2   = new HLP.GeraXml.WebService.v2_SCAN_Homologacao_NFeInutilizacao.NfeInutilizacao2();
                        cabec.cUF         = Acesso.cUF.ToString();
                        cabec.versaoDados = Acesso.versaoNFe;
                        ws2.ClientCertificates.Add(Acesso.cert_NFe);
                        ws2.nfeCabecMsgValue = cabec;
                        XmlDocument xmlInut = new XmlDocument();
                        xmlInut.Load(_sPath);
                        XmlNode xNodeInut = xmlInut.DocumentElement;
                        sRetorno = ws2.nfeInutilizacaoNF2(xNodeInut).OuterXml;
                    }
                }
                else if (Acesso.TP_EMIS == 6)
                {
                    throw new Exception("Homologação não permitida para o modo SVC-AN");
                }

                DadosRetorno ret    = new DadosRetorno();
                XmlDocument  xmldoc = new XmlDocument();
                xmldoc.LoadXml(sRetorno);
                ret.tpAmb    = (xmldoc.GetElementsByTagName("tpAmb")[0] != null ? xmldoc.GetElementsByTagName("tpAmb")[0].InnerText : "");
                ret.cStat    = (xmldoc.GetElementsByTagName("cStat")[0] != null ? xmldoc.GetElementsByTagName("cStat")[0].InnerText : "");
                ret.xMotivo  = (xmldoc.GetElementsByTagName("xMotivo")[0] != null ? xmldoc.GetElementsByTagName("xMotivo")[0].InnerText : "");
                ret.ano      = (xmldoc.GetElementsByTagName("ano")[0] != null ? xmldoc.GetElementsByTagName("ano")[0].InnerText : "");
                ret.mod      = (xmldoc.GetElementsByTagName("mod")[0] != null ? xmldoc.GetElementsByTagName("mod")[0].InnerText : "");
                ret.serie    = (xmldoc.GetElementsByTagName("serie")[0] != null ? xmldoc.GetElementsByTagName("serie")[0].InnerText : "");
                ret.nNFIni   = (xmldoc.GetElementsByTagName("nNFIni")[0] != null ? xmldoc.GetElementsByTagName("nNFIni")[0].InnerText : "");
                ret.nNFFin   = (xmldoc.GetElementsByTagName("nNFFin")[0] != null ? xmldoc.GetElementsByTagName("nNFFin")[0].InnerText : "");
                ret.dhRecbto = (xmldoc.GetElementsByTagName("dhRecbto")[0] != null ? xmldoc.GetElementsByTagName("dhRecbto")[0].InnerText.Replace('T', ' ') : "");
                ret.nProt    = (xmldoc.GetElementsByTagName("nProt")[0] != null ? xmldoc.GetElementsByTagName("nProt")[0].InnerText : "");

                if (ret.cStat.Equals("102"))
                {
                    xmldoc.Save(Pastas.PROTOCOLOS + "\\" + ret.nProt + "_inu.xml");
                    InseriRegistroInutilizado(_nnfini, _nnffim, _serie, _sjust);
                }

                return(ret);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }