public DadosRetorno buscaRetorno()
        {
            string      sDados      = consultaNFe();
            XmlDocument xmlConsulta = new XmlDocument();
            XmlDocument xret        = new XmlDocument();

            try
            {
                if (Acesso.TP_EMIS == 1)
                {
                    switch (Acesso.xUFtoWS)
                    {
                    case "SP":
                    {
                        if (Acesso.TP_AMB == 2)
                        {
                            HLP.GeraXml.WebService.v2_Homologacao_NFeConsulta_SP.NfeConsulta2 ws2   = new HLP.GeraXml.WebService.v2_Homologacao_NFeConsulta_SP.NfeConsulta2();
                            HLP.GeraXml.WebService.v2_Homologacao_NFeConsulta_SP.nfeCabecMsg  cabec = new HLP.GeraXml.WebService.v2_Homologacao_NFeConsulta_SP.nfeCabecMsg();
                            cabec.versaoDados = sversaoLayoutCons;
                            belUF objUf = new belUF();
                            cabec.cUF            = objUf.RetornaCUF(Acesso.xUF);
                            ws2.nfeCabecMsgValue = cabec;
                            ws2.ClientCertificates.Add(Acesso.cert_NFe);
                            xmlConsulta.LoadXml(sDados);
                            XmlNode xNodeConsulta = xmlConsulta.DocumentElement;
                            xmlConsulta.LoadXml(ws2.nfeConsultaNF2(xNodeConsulta).OuterXml);
                        }
                        else
                        {
                            HLP.GeraXml.WebService.v2_Producao_NFeConsulta_SP.NfeConsulta2 ws2   = new HLP.GeraXml.WebService.v2_Producao_NFeConsulta_SP.NfeConsulta2();
                            HLP.GeraXml.WebService.v2_Producao_NFeConsulta_SP.nfeCabecMsg  cabec = new HLP.GeraXml.WebService.v2_Producao_NFeConsulta_SP.nfeCabecMsg();
                            cabec.versaoDados = sversaoLayoutCons;
                            belUF objUf = new belUF();
                            cabec.cUF            = objUf.RetornaCUF(Acesso.xUF);
                            ws2.nfeCabecMsgValue = cabec;
                            ws2.ClientCertificates.Add(Acesso.cert_NFe);
                            xmlConsulta.LoadXml(sDados);
                            XmlNode xNodeConsulta = xmlConsulta.DocumentElement;
                            xmlConsulta.LoadXml(ws2.nfeConsultaNF2(xNodeConsulta).OuterXml);
                        }
                    }
                    break;

                    case "RS":
                    {
                        if (Acesso.TP_AMB == 2)
                        {
                            HLP.GeraXml.WebService.v2_Homologacao_NFeConsulta_RS.NfeConsulta2 ws2   = new HLP.GeraXml.WebService.v2_Homologacao_NFeConsulta_RS.NfeConsulta2();
                            HLP.GeraXml.WebService.v2_Homologacao_NFeConsulta_RS.nfeCabecMsg  cabec = new HLP.GeraXml.WebService.v2_Homologacao_NFeConsulta_RS.nfeCabecMsg();
                            cabec.versaoDados = sversaoLayoutCons;
                            belUF objUf = new belUF();
                            cabec.cUF            = objUf.RetornaCUF(Acesso.xUF);
                            ws2.nfeCabecMsgValue = cabec;
                            ws2.ClientCertificates.Add(Acesso.cert_NFe);
                            xmlConsulta.LoadXml(sDados);
                            XmlNode xNodeConsulta = xmlConsulta.DocumentElement;
                            xmlConsulta.LoadXml(ws2.nfeConsultaNF2(xNodeConsulta).OuterXml);
                        }
                        else
                        {
                            HLP.GeraXml.WebService.v2_Producao_NFeConsulta_RS.NfeConsulta2 ws2   = new HLP.GeraXml.WebService.v2_Producao_NFeConsulta_RS.NfeConsulta2();
                            HLP.GeraXml.WebService.v2_Producao_NFeConsulta_RS.nfeCabecMsg  cabec = new HLP.GeraXml.WebService.v2_Producao_NFeConsulta_RS.nfeCabecMsg();
                            cabec.versaoDados = sversaoLayoutCons;
                            belUF objUf = new belUF();
                            cabec.cUF            = objUf.RetornaCUF(Acesso.xUF);
                            ws2.nfeCabecMsgValue = cabec;
                            ws2.ClientCertificates.Add(Acesso.cert_NFe);
                            xmlConsulta.LoadXml(sDados);
                            XmlNode xNodeConsulta = xmlConsulta.DocumentElement;
                            xmlConsulta.LoadXml(ws2.nfeConsultaNF2(xNodeConsulta).OuterXml);
                        }
                    }
                    break;

                    case "MS":
                    {
                        if (Acesso.TP_AMB == 2)
                        {
                            HLP.GeraXml.WebService.v2_Homologacao_NFeConsulta_MS.NfeConsulta2 ws2   = new HLP.GeraXml.WebService.v2_Homologacao_NFeConsulta_MS.NfeConsulta2();
                            HLP.GeraXml.WebService.v2_Homologacao_NFeConsulta_MS.nfeCabecMsg  cabec = new HLP.GeraXml.WebService.v2_Homologacao_NFeConsulta_MS.nfeCabecMsg();
                            cabec.versaoDados = sversaoLayoutCons;
                            belUF objUf = new belUF();
                            cabec.cUF            = objUf.RetornaCUF(Acesso.xUF);
                            ws2.nfeCabecMsgValue = cabec;
                            ws2.ClientCertificates.Add(Acesso.cert_NFe);
                            xmlConsulta.LoadXml(sDados);
                            XmlNode xNodeConsulta = xmlConsulta.DocumentElement;
                            xmlConsulta.LoadXml(ws2.nfeConsultaNF2(xNodeConsulta).OuterXml);
                        }
                        else
                        {
                            HLP.GeraXml.WebService.v2_Producao_NFeConsulta_MS.NfeConsulta2 ws2   = new HLP.GeraXml.WebService.v2_Producao_NFeConsulta_MS.NfeConsulta2();
                            HLP.GeraXml.WebService.v2_Producao_NFeConsulta_MS.nfeCabecMsg  cabec = new HLP.GeraXml.WebService.v2_Producao_NFeConsulta_MS.nfeCabecMsg();
                            cabec.versaoDados = sversaoLayoutCons;
                            belUF objUf = new belUF();
                            cabec.cUF            = objUf.RetornaCUF(Acesso.xUF);
                            ws2.nfeCabecMsgValue = cabec;
                            ws2.ClientCertificates.Add(Acesso.cert_NFe);
                            xmlConsulta.LoadXml(sDados);
                            XmlNode xNodeConsulta = xmlConsulta.DocumentElement;
                            xmlConsulta.LoadXml(ws2.nfeConsultaNF2(xNodeConsulta).OuterXml);
                        }
                    }
                    break;

                    case "SVRS":
                    {
                        if (Acesso.TP_AMB == 2)
                        {
                            HLP.GeraXml.WebService.V2_Homologacao_Consulta_SVRS.NfeConsulta2 ws2   = new HLP.GeraXml.WebService.V2_Homologacao_Consulta_SVRS.NfeConsulta2();
                            HLP.GeraXml.WebService.V2_Homologacao_Consulta_SVRS.nfeCabecMsg  cabec = new HLP.GeraXml.WebService.V2_Homologacao_Consulta_SVRS.nfeCabecMsg();
                            cabec.versaoDados = sversaoLayoutCons;
                            belUF objUf = new belUF();
                            cabec.cUF            = objUf.RetornaCUF(Acesso.xUF);
                            ws2.nfeCabecMsgValue = cabec;
                            ws2.ClientCertificates.Add(Acesso.cert_NFe);
                            xmlConsulta.LoadXml(sDados);
                            XmlNode xNodeConsulta = xmlConsulta.DocumentElement;
                            xmlConsulta.LoadXml(ws2.nfeConsultaNF2(xNodeConsulta).OuterXml);
                        }
                        else
                        {
                            HLP.GeraXml.WebService.V2_Producao_Consulta_SVRS.NfeConsulta2 ws2   = new HLP.GeraXml.WebService.V2_Producao_Consulta_SVRS.NfeConsulta2();
                            HLP.GeraXml.WebService.V2_Producao_Consulta_SVRS.nfeCabecMsg  cabec = new HLP.GeraXml.WebService.V2_Producao_Consulta_SVRS.nfeCabecMsg();
                            cabec.versaoDados = sversaoLayoutCons;
                            belUF objUf = new belUF();
                            cabec.cUF            = objUf.RetornaCUF(Acesso.xUF);
                            ws2.nfeCabecMsgValue = cabec;
                            ws2.ClientCertificates.Add(Acesso.cert_NFe);
                            xmlConsulta.LoadXml(sDados);
                            XmlNode xNodeConsulta = xmlConsulta.DocumentElement;
                            xmlConsulta.LoadXml(ws2.nfeConsultaNF2(xNodeConsulta).OuterXml);
                        }
                    }
                    break;

                    case "MG":
                    {
                        if (Acesso.TP_AMB == 2)
                        {
                            HLP.GeraXml.WebService.v2_Homologacao_NfeConsultaProtocolo_MG.NfeConsulta2 ws2   = new HLP.GeraXml.WebService.v2_Homologacao_NfeConsultaProtocolo_MG.NfeConsulta2();
                            HLP.GeraXml.WebService.v2_Homologacao_NfeConsultaProtocolo_MG.nfeCabecMsg  cabec = new HLP.GeraXml.WebService.v2_Homologacao_NfeConsultaProtocolo_MG.nfeCabecMsg();
                            cabec.versaoDados = sversaoLayoutCons;
                            belUF objUf = new belUF();
                            cabec.cUF            = objUf.RetornaCUF(Acesso.xUF);
                            ws2.nfeCabecMsgValue = cabec;
                            ws2.ClientCertificates.Add(Acesso.cert_NFe);
                            xmlConsulta.LoadXml(sDados);
                            XmlNode xNodeConsulta = xmlConsulta.DocumentElement;
                            xmlConsulta.LoadXml(ws2.nfeConsultaNF2(xNodeConsulta).OuterXml);
                        }
                        else
                        {
                            HLP.GeraXml.WebService.v2_Producao_NfeConsultaProtocolo_MG.NfeConsulta2 ws2   = new HLP.GeraXml.WebService.v2_Producao_NfeConsultaProtocolo_MG.NfeConsulta2();
                            HLP.GeraXml.WebService.v2_Producao_NfeConsultaProtocolo_MG.nfeCabecMsg  cabec = new HLP.GeraXml.WebService.v2_Producao_NfeConsultaProtocolo_MG.nfeCabecMsg();
                            cabec.versaoDados = sversaoLayoutCons;
                            belUF objUf = new belUF();
                            cabec.cUF            = objUf.RetornaCUF(Acesso.xUF);
                            ws2.nfeCabecMsgValue = cabec;
                            ws2.ClientCertificates.Add(Acesso.cert_NFe);
                            xmlConsulta.LoadXml(sDados);
                            XmlNode xNodeConsulta = xmlConsulta.DocumentElement;
                            xmlConsulta.LoadXml(ws2.nfeConsultaNF2(xNodeConsulta).OuterXml);
                        }
                    }
                    break;
                    }
                }
                else if (Acesso.TP_EMIS == 3)
                {
                    if (Acesso.TP_AMB == 2)
                    {
                        HLP.GeraXml.WebService.v2_SCAN_Homologacao_NFeConsulta.NfeConsulta2 ws2   = new HLP.GeraXml.WebService.v2_SCAN_Homologacao_NFeConsulta.NfeConsulta2();
                        HLP.GeraXml.WebService.v2_SCAN_Homologacao_NFeConsulta.nfeCabecMsg  cabec = new HLP.GeraXml.WebService.v2_SCAN_Homologacao_NFeConsulta.nfeCabecMsg();
                        cabec.versaoDados = sversaoLayoutCons;
                        belUF objUf = new belUF();
                        cabec.cUF            = objUf.RetornaCUF(Acesso.xUF);
                        ws2.nfeCabecMsgValue = cabec;
                        ws2.ClientCertificates.Add(Acesso.cert_NFe);
                        xmlConsulta.LoadXml(sDados);
                        XmlNode xNodeConsulta = xmlConsulta.DocumentElement;
                        xmlConsulta.LoadXml(ws2.nfeConsultaNF2(xNodeConsulta).OuterXml);
                    }
                    else
                    {
                        HLP.GeraXml.WebService.v2_SCAN_Producao_NFeConsulta.NfeConsulta2 ws2   = new HLP.GeraXml.WebService.v2_SCAN_Producao_NFeConsulta.NfeConsulta2();
                        HLP.GeraXml.WebService.v2_SCAN_Producao_NFeConsulta.nfeCabecMsg  cabec = new HLP.GeraXml.WebService.v2_SCAN_Producao_NFeConsulta.nfeCabecMsg();
                        cabec.versaoDados = sversaoLayoutCons;
                        belUF objUf = new belUF();
                        cabec.cUF            = objUf.RetornaCUF(Acesso.xUF);
                        ws2.nfeCabecMsgValue = cabec;
                        ws2.ClientCertificates.Add(Acesso.cert_NFe);
                        xmlConsulta.LoadXml(sDados);
                        XmlNode xNodeConsulta = xmlConsulta.DocumentElement;
                        xmlConsulta.LoadXml(ws2.nfeConsultaNF2(xNodeConsulta).OuterXml);
                    }
                }
                else if (Acesso.TP_EMIS == 6)
                {
                    if (Acesso.TP_AMB == 2)
                    {
                        HLP.GeraXml.WebService.v2_SVC_Homologacao_NfeConsultaProtocolo.NfeConsulta2 ws2   = new HLP.GeraXml.WebService.v2_SVC_Homologacao_NfeConsultaProtocolo.NfeConsulta2();
                        HLP.GeraXml.WebService.v2_SVC_Homologacao_NfeConsultaProtocolo.nfeCabecMsg  cabec = new HLP.GeraXml.WebService.v2_SVC_Homologacao_NfeConsultaProtocolo.nfeCabecMsg();
                        cabec.versaoDados = sversaoLayoutCons;
                        belUF objUf = new belUF();
                        cabec.cUF            = objUf.RetornaCUF(Acesso.xUF);
                        ws2.nfeCabecMsgValue = cabec;
                        ws2.ClientCertificates.Add(Acesso.cert_NFe);
                        xmlConsulta.LoadXml(sDados);
                        XmlNode xNodeConsulta = xmlConsulta.DocumentElement;
                        xmlConsulta.LoadXml(ws2.nfeConsultaNF2(xNodeConsulta).OuterXml);
                    }
                    else
                    {
                        HLP.GeraXml.WebService.v2_SVC_Producao_NfeConsultaProtocolo.NfeConsulta2 ws2   = new HLP.GeraXml.WebService.v2_SVC_Producao_NfeConsultaProtocolo.NfeConsulta2();
                        HLP.GeraXml.WebService.v2_SVC_Producao_NfeConsultaProtocolo.nfeCabecMsg  cabec = new HLP.GeraXml.WebService.v2_SVC_Producao_NfeConsultaProtocolo.nfeCabecMsg();
                        cabec.versaoDados = sversaoLayoutCons;
                        belUF objUf = new belUF();
                        cabec.cUF            = objUf.RetornaCUF(Acesso.xUF);
                        ws2.nfeCabecMsgValue = cabec;
                        ws2.ClientCertificates.Add(Acesso.cert_NFe);
                        xmlConsulta.LoadXml(sDados);
                        XmlNode xNodeConsulta = xmlConsulta.DocumentElement;
                        xmlConsulta.LoadXml(ws2.nfeConsultaNF2(xNodeConsulta).OuterXml);
                    }
                }
                string sPathCons = Pastas.PROTOCOLOS + "\\ConsultaNFe_" + objPesquisa.sCD_NFSEQ + ".xml";
                xmlConsulta.Save(sPathCons);
                retConsSitNFe objConsulta = SerializeClassToXml.DeserializeClasse <retConsSitNFe>(sPathCons);
                return(CarregaDadosRetorno(objConsulta));
            }
            catch (Exception)
            {
                throw;
            }
        }
        public DadosRetorno buscaRetorno()
        {
            string sDados = consultaNFe();
            XmlDocument xmlConsulta = new XmlDocument();
            XmlDocument xret = new XmlDocument();
            try
            {
                if (Acesso.TP_EMIS == 1)
                {
                    switch (Acesso.xUFtoWS)
                    {
                        case "SP":
                            {
                                if (Acesso.TP_AMB == 2)
                                {
                                    HLP.GeraXml.WebService.v2_Homologacao_NFeConsulta_SP.NfeConsulta2 ws2 = new HLP.GeraXml.WebService.v2_Homologacao_NFeConsulta_SP.NfeConsulta2();
                                    HLP.GeraXml.WebService.v2_Homologacao_NFeConsulta_SP.nfeCabecMsg cabec = new HLP.GeraXml.WebService.v2_Homologacao_NFeConsulta_SP.nfeCabecMsg();
                                    cabec.versaoDados = sversaoLayoutCons;
                                    belUF objUf = new belUF();
                                    cabec.cUF = objUf.RetornaCUF(Acesso.xUF);
                                    ws2.nfeCabecMsgValue = cabec;
                                    ws2.ClientCertificates.Add(Acesso.cert_NFe);
                                    xmlConsulta.LoadXml(sDados);
                                    XmlNode xNodeConsulta = xmlConsulta.DocumentElement;
                                    xmlConsulta.LoadXml(ws2.nfeConsultaNF2(xNodeConsulta).OuterXml);

                                }
                                else
                                {
                                    HLP.GeraXml.WebService.v2_Producao_NFeConsulta_SP.NfeConsulta2 ws2 = new HLP.GeraXml.WebService.v2_Producao_NFeConsulta_SP.NfeConsulta2();
                                    HLP.GeraXml.WebService.v2_Producao_NFeConsulta_SP.nfeCabecMsg cabec = new HLP.GeraXml.WebService.v2_Producao_NFeConsulta_SP.nfeCabecMsg();
                                    cabec.versaoDados = sversaoLayoutCons;
                                    belUF objUf = new belUF();
                                    cabec.cUF = objUf.RetornaCUF(Acesso.xUF);
                                    ws2.nfeCabecMsgValue = cabec;
                                    ws2.ClientCertificates.Add(Acesso.cert_NFe);
                                    xmlConsulta.LoadXml(sDados);
                                    XmlNode xNodeConsulta = xmlConsulta.DocumentElement;
                                    xmlConsulta.LoadXml(ws2.nfeConsultaNF2(xNodeConsulta).OuterXml);
                                }
                            }
                            break;
                        case "RS":
                            {
                                if (Acesso.TP_AMB == 2)
                                {
                                    HLP.GeraXml.WebService.v2_Homologacao_NFeConsulta_RS.NfeConsulta2 ws2 = new HLP.GeraXml.WebService.v2_Homologacao_NFeConsulta_RS.NfeConsulta2();
                                    HLP.GeraXml.WebService.v2_Homologacao_NFeConsulta_RS.nfeCabecMsg cabec = new HLP.GeraXml.WebService.v2_Homologacao_NFeConsulta_RS.nfeCabecMsg();
                                    cabec.versaoDados = sversaoLayoutCons;
                                    belUF objUf = new belUF();
                                    cabec.cUF = objUf.RetornaCUF(Acesso.xUF);
                                    ws2.nfeCabecMsgValue = cabec;
                                    ws2.ClientCertificates.Add(Acesso.cert_NFe);
                                    xmlConsulta.LoadXml(sDados);
                                    XmlNode xNodeConsulta = xmlConsulta.DocumentElement;
                                    xmlConsulta.LoadXml(ws2.nfeConsultaNF2(xNodeConsulta).OuterXml);

                                }
                                else
                                {
                                    HLP.GeraXml.WebService.v2_Producao_NFeConsulta_RS.NfeConsulta2 ws2 = new HLP.GeraXml.WebService.v2_Producao_NFeConsulta_RS.NfeConsulta2();
                                    HLP.GeraXml.WebService.v2_Producao_NFeConsulta_RS.nfeCabecMsg cabec = new HLP.GeraXml.WebService.v2_Producao_NFeConsulta_RS.nfeCabecMsg();
                                    cabec.versaoDados = sversaoLayoutCons;
                                    belUF objUf = new belUF();
                                    cabec.cUF = objUf.RetornaCUF(Acesso.xUF);
                                    ws2.nfeCabecMsgValue = cabec;
                                    ws2.ClientCertificates.Add(Acesso.cert_NFe);
                                    xmlConsulta.LoadXml(sDados);
                                    XmlNode xNodeConsulta = xmlConsulta.DocumentElement;
                                    xmlConsulta.LoadXml(ws2.nfeConsultaNF2(xNodeConsulta).OuterXml);
                                }
                            }
                            break;
                        case "MS":
                            {
                                if (Acesso.TP_AMB == 2)
                                {
                                    HLP.GeraXml.WebService.v2_Homologacao_NFeConsulta_MS.NfeConsulta2 ws2 = new HLP.GeraXml.WebService.v2_Homologacao_NFeConsulta_MS.NfeConsulta2();
                                    HLP.GeraXml.WebService.v2_Homologacao_NFeConsulta_MS.nfeCabecMsg cabec = new HLP.GeraXml.WebService.v2_Homologacao_NFeConsulta_MS.nfeCabecMsg();
                                    cabec.versaoDados = sversaoLayoutCons;
                                    belUF objUf = new belUF();
                                    cabec.cUF = objUf.RetornaCUF(Acesso.xUF);
                                    ws2.nfeCabecMsgValue = cabec;
                                    ws2.ClientCertificates.Add(Acesso.cert_NFe);
                                    xmlConsulta.LoadXml(sDados);
                                    XmlNode xNodeConsulta = xmlConsulta.DocumentElement;
                                    xmlConsulta.LoadXml(ws2.nfeConsultaNF2(xNodeConsulta).OuterXml);

                                }
                                else
                                {
                                    HLP.GeraXml.WebService.v2_Producao_NFeConsulta_MS.NfeConsulta2 ws2 = new HLP.GeraXml.WebService.v2_Producao_NFeConsulta_MS.NfeConsulta2();
                                    HLP.GeraXml.WebService.v2_Producao_NFeConsulta_MS.nfeCabecMsg cabec = new HLP.GeraXml.WebService.v2_Producao_NFeConsulta_MS.nfeCabecMsg();
                                    cabec.versaoDados = sversaoLayoutCons;
                                    belUF objUf = new belUF();
                                    cabec.cUF = objUf.RetornaCUF(Acesso.xUF);
                                    ws2.nfeCabecMsgValue = cabec;
                                    ws2.ClientCertificates.Add(Acesso.cert_NFe);
                                    xmlConsulta.LoadXml(sDados);
                                    XmlNode xNodeConsulta = xmlConsulta.DocumentElement;
                                    xmlConsulta.LoadXml(ws2.nfeConsultaNF2(xNodeConsulta).OuterXml);
                                }
                            }
                            break;
                        case "SVRS":
                            {
                                if (Acesso.TP_AMB == 2)
                                {
                                    HLP.GeraXml.WebService.V2_Homologacao_Consulta_SVRS.NfeConsulta2 ws2 = new HLP.GeraXml.WebService.V2_Homologacao_Consulta_SVRS.NfeConsulta2();
                                    HLP.GeraXml.WebService.V2_Homologacao_Consulta_SVRS.nfeCabecMsg cabec = new HLP.GeraXml.WebService.V2_Homologacao_Consulta_SVRS.nfeCabecMsg();
                                    cabec.versaoDados = sversaoLayoutCons;
                                    belUF objUf = new belUF();
                                    cabec.cUF = objUf.RetornaCUF(Acesso.xUF);
                                    ws2.nfeCabecMsgValue = cabec;
                                    ws2.ClientCertificates.Add(Acesso.cert_NFe);
                                    xmlConsulta.LoadXml(sDados);
                                    XmlNode xNodeConsulta = xmlConsulta.DocumentElement;
                                    xmlConsulta.LoadXml(ws2.nfeConsultaNF2(xNodeConsulta).OuterXml);

                                }
                                else
                                {
                                    HLP.GeraXml.WebService.V2_Producao_Consulta_SVRS.NfeConsulta2 ws2 = new HLP.GeraXml.WebService.V2_Producao_Consulta_SVRS.NfeConsulta2();
                                    HLP.GeraXml.WebService.V2_Producao_Consulta_SVRS.nfeCabecMsg cabec = new HLP.GeraXml.WebService.V2_Producao_Consulta_SVRS.nfeCabecMsg();
                                    cabec.versaoDados = sversaoLayoutCons;
                                    belUF objUf = new belUF();
                                    cabec.cUF = objUf.RetornaCUF(Acesso.xUF);
                                    ws2.nfeCabecMsgValue = cabec;
                                    ws2.ClientCertificates.Add(Acesso.cert_NFe);
                                    xmlConsulta.LoadXml(sDados);
                                    XmlNode xNodeConsulta = xmlConsulta.DocumentElement;
                                    xmlConsulta.LoadXml(ws2.nfeConsultaNF2(xNodeConsulta).OuterXml);
                                }
                            }
                            break;
                        case "MG":
                            {
                                if (Acesso.TP_AMB == 2)
                                {
                                    HLP.GeraXml.WebService.v2_Homologacao_NfeConsultaProtocolo_MG.NfeConsulta2 ws2 = new HLP.GeraXml.WebService.v2_Homologacao_NfeConsultaProtocolo_MG.NfeConsulta2();
                                    HLP.GeraXml.WebService.v2_Homologacao_NfeConsultaProtocolo_MG.nfeCabecMsg cabec = new HLP.GeraXml.WebService.v2_Homologacao_NfeConsultaProtocolo_MG.nfeCabecMsg();
                                    cabec.versaoDados = sversaoLayoutCons;
                                    belUF objUf = new belUF();
                                    cabec.cUF = objUf.RetornaCUF(Acesso.xUF);
                                    ws2.nfeCabecMsgValue = cabec;
                                    ws2.ClientCertificates.Add(Acesso.cert_NFe);
                                    xmlConsulta.LoadXml(sDados);
                                    XmlNode xNodeConsulta = xmlConsulta.DocumentElement;
                                    xmlConsulta.LoadXml(ws2.nfeConsultaNF2(xNodeConsulta).OuterXml);

                                }
                                else
                                {
                                    HLP.GeraXml.WebService.v2_Producao_NfeConsultaProtocolo_MG.NfeConsulta2 ws2 = new HLP.GeraXml.WebService.v2_Producao_NfeConsultaProtocolo_MG.NfeConsulta2();
                                    HLP.GeraXml.WebService.v2_Producao_NfeConsultaProtocolo_MG.nfeCabecMsg cabec = new HLP.GeraXml.WebService.v2_Producao_NfeConsultaProtocolo_MG.nfeCabecMsg();
                                    cabec.versaoDados = sversaoLayoutCons;
                                    belUF objUf = new belUF();
                                    cabec.cUF = objUf.RetornaCUF(Acesso.xUF);
                                    ws2.nfeCabecMsgValue = cabec;
                                    ws2.ClientCertificates.Add(Acesso.cert_NFe);
                                    xmlConsulta.LoadXml(sDados);
                                    XmlNode xNodeConsulta = xmlConsulta.DocumentElement;
                                    xmlConsulta.LoadXml(ws2.nfeConsultaNF2(xNodeConsulta).OuterXml);
                                }
                            }
                            break;

                    }
                }
                else if (Acesso.TP_EMIS == 3)
                {
                    if (Acesso.TP_AMB == 2)
                    {
                        HLP.GeraXml.WebService.v2_SCAN_Homologacao_NFeConsulta.NfeConsulta2 ws2 = new HLP.GeraXml.WebService.v2_SCAN_Homologacao_NFeConsulta.NfeConsulta2();
                        HLP.GeraXml.WebService.v2_SCAN_Homologacao_NFeConsulta.nfeCabecMsg cabec = new HLP.GeraXml.WebService.v2_SCAN_Homologacao_NFeConsulta.nfeCabecMsg();
                        cabec.versaoDados = sversaoLayoutCons;
                        belUF objUf = new belUF();
                        cabec.cUF = objUf.RetornaCUF(Acesso.xUF);
                        ws2.nfeCabecMsgValue = cabec;
                        ws2.ClientCertificates.Add(Acesso.cert_NFe);
                        xmlConsulta.LoadXml(sDados);
                        XmlNode xNodeConsulta = xmlConsulta.DocumentElement;
                        xmlConsulta.LoadXml(ws2.nfeConsultaNF2(xNodeConsulta).OuterXml);

                    }
                    else
                    {
                        HLP.GeraXml.WebService.v2_SCAN_Producao_NFeConsulta.NfeConsulta2 ws2 = new HLP.GeraXml.WebService.v2_SCAN_Producao_NFeConsulta.NfeConsulta2();
                        HLP.GeraXml.WebService.v2_SCAN_Producao_NFeConsulta.nfeCabecMsg cabec = new HLP.GeraXml.WebService.v2_SCAN_Producao_NFeConsulta.nfeCabecMsg();
                        cabec.versaoDados = sversaoLayoutCons;
                        belUF objUf = new belUF();
                        cabec.cUF = objUf.RetornaCUF(Acesso.xUF);
                        ws2.nfeCabecMsgValue = cabec;
                        ws2.ClientCertificates.Add(Acesso.cert_NFe);
                        xmlConsulta.LoadXml(sDados);
                        XmlNode xNodeConsulta = xmlConsulta.DocumentElement;
                        xmlConsulta.LoadXml(ws2.nfeConsultaNF2(xNodeConsulta).OuterXml);
                    }

                }
                else if (Acesso.TP_EMIS == 6)
                {
                    if (Acesso.TP_AMB == 2)
                    {
                        HLP.GeraXml.WebService.v2_SVC_Homologacao_NfeConsultaProtocolo.NfeConsulta2 ws2 = new HLP.GeraXml.WebService.v2_SVC_Homologacao_NfeConsultaProtocolo.NfeConsulta2();
                        HLP.GeraXml.WebService.v2_SVC_Homologacao_NfeConsultaProtocolo.nfeCabecMsg cabec = new HLP.GeraXml.WebService.v2_SVC_Homologacao_NfeConsultaProtocolo.nfeCabecMsg();
                        cabec.versaoDados = sversaoLayoutCons;
                        belUF objUf = new belUF();
                        cabec.cUF = objUf.RetornaCUF(Acesso.xUF);
                        ws2.nfeCabecMsgValue = cabec;
                        ws2.ClientCertificates.Add(Acesso.cert_NFe);
                        xmlConsulta.LoadXml(sDados);
                        XmlNode xNodeConsulta = xmlConsulta.DocumentElement;
                        xmlConsulta.LoadXml(ws2.nfeConsultaNF2(xNodeConsulta).OuterXml);
                    }
                    else
                    {
                        HLP.GeraXml.WebService.v2_SVC_Producao_NfeConsultaProtocolo.NfeConsulta2 ws2 = new HLP.GeraXml.WebService.v2_SVC_Producao_NfeConsultaProtocolo.NfeConsulta2();
                        HLP.GeraXml.WebService.v2_SVC_Producao_NfeConsultaProtocolo.nfeCabecMsg cabec = new HLP.GeraXml.WebService.v2_SVC_Producao_NfeConsultaProtocolo.nfeCabecMsg();
                        cabec.versaoDados = sversaoLayoutCons;
                        belUF objUf = new belUF();
                        cabec.cUF = objUf.RetornaCUF(Acesso.xUF);
                        ws2.nfeCabecMsgValue = cabec;
                        ws2.ClientCertificates.Add(Acesso.cert_NFe);
                        xmlConsulta.LoadXml(sDados);
                        XmlNode xNodeConsulta = xmlConsulta.DocumentElement;
                        xmlConsulta.LoadXml(ws2.nfeConsultaNF2(xNodeConsulta).OuterXml);
                    }

                }
                string sPathCons = Pastas.PROTOCOLOS + "\\ConsultaNFe_" + objPesquisa.sCD_NFSEQ + ".xml";
                xmlConsulta.Save(sPathCons);
                retConsSitNFe objConsulta = SerializeClassToXml.DeserializeClasse<retConsSitNFe>(sPathCons);
                return CarregaDadosRetorno(objConsulta);
            }
            catch (Exception)
            {

                throw;
            }

        }