예제 #1
0
        public void EfetuaCancelamento(belPesquisaNotas _objPesquisa, string sJust, int iNumEvento)
        {
            this.objPesquisa = _objPesquisa;
            string      sDados = NFeDadosMsg2(_objPesquisa, sJust, iNumEvento);
            XmlDocument xRet   = new XmlDocument();

            if (Acesso.TP_EMIS == 1)
            {
                switch (Acesso.xUFtoWS)
                {
                case "SP":
                {
                    #region Regiao_SP
                    if (Acesso.TP_AMB == 1)
                    {
                        HLP.GeraXml.WebService.v2_Producao_NFeRecepcaoEvento_SP.RecepcaoEvento ws2   = new WebService.v2_Producao_NFeRecepcaoEvento_SP.RecepcaoEvento();
                        HLP.GeraXml.WebService.v2_Producao_NFeRecepcaoEvento_SP.nfeCabecMsg    cabec = new WebService.v2_Producao_NFeRecepcaoEvento_SP.nfeCabecMsg();

                        cabec.versaoDados = "1.00";
                        cabec.cUF         = Acesso.cUF.ToString();
                        ws2.ClientCertificates.Add(Acesso.cert_NFe);
                        ws2.nfeCabecMsgValue = cabec;
                        XmlDocument xmlCanc = new XmlDocument();
                        xmlCanc.LoadXml(sDados);
                        XmlNode xNodeCanc = xmlCanc.DocumentElement;
                        string  sRet      = ws2.nfeRecepcaoEvento(xNodeCanc).OuterXml;
                        xRet.LoadXml(sRet);
                    }
                    if (Acesso.TP_AMB == 2)
                    {
                        HLP.GeraXml.WebService.v2_Homologacao_NFeRecepcaoEvento_SP.nfeCabecMsg    cabec = new HLP.GeraXml.WebService.v2_Homologacao_NFeRecepcaoEvento_SP.nfeCabecMsg();
                        HLP.GeraXml.WebService.v2_Homologacao_NFeRecepcaoEvento_SP.RecepcaoEvento ws2   = new HLP.GeraXml.WebService.v2_Homologacao_NFeRecepcaoEvento_SP.RecepcaoEvento();

                        cabec.versaoDados = "1.00";
                        cabec.cUF         = Acesso.cUF.ToString();
                        ws2.ClientCertificates.Add(Acesso.cert_NFe);
                        ws2.nfeCabecMsgValue = cabec;
                        XmlDocument xmlCanc = new XmlDocument();
                        xmlCanc.LoadXml(sDados);
                        XmlNode xNodeCanc = xmlCanc.DocumentElement;
                        string  sRet      = ws2.nfeRecepcaoEvento(xNodeCanc).OuterXml;
                        xRet.LoadXml(sRet);
                    }
                    #endregion
                }
                break;

                case "RS":
                {
                    #region Regiao_RS
                    if (Acesso.TP_AMB == 1)
                    {
                        HLP.GeraXml.WebService.v2_Producao_NFeRecepcaoEvento_RS.RecepcaoEvento ws2   = new WebService.v2_Producao_NFeRecepcaoEvento_RS.RecepcaoEvento();
                        HLP.GeraXml.WebService.v2_Producao_NFeRecepcaoEvento_RS.nfeCabecMsg    cabec = new WebService.v2_Producao_NFeRecepcaoEvento_RS.nfeCabecMsg();

                        cabec.versaoDados = "1.00";
                        cabec.cUF         = Acesso.cUF.ToString();
                        ws2.ClientCertificates.Add(Acesso.cert_NFe);
                        ws2.nfeCabecMsgValue = cabec;
                        XmlDocument xmlCanc = new XmlDocument();
                        xmlCanc.LoadXml(sDados);
                        XmlNode xNodeCanc = xmlCanc.DocumentElement;
                        string  sRet      = ws2.nfeRecepcaoEvento(xNodeCanc).OuterXml;
                        xRet.LoadXml(sRet);
                    }
                    if (Acesso.TP_AMB == 2)
                    {
                        HLP.GeraXml.WebService.v2_Homologacao_NFeRecepcaoEvento_RS.nfeCabecMsg    cabec = new HLP.GeraXml.WebService.v2_Homologacao_NFeRecepcaoEvento_RS.nfeCabecMsg();
                        HLP.GeraXml.WebService.v2_Homologacao_NFeRecepcaoEvento_RS.RecepcaoEvento ws2   = new HLP.GeraXml.WebService.v2_Homologacao_NFeRecepcaoEvento_RS.RecepcaoEvento();

                        cabec.versaoDados = "1.00";
                        cabec.cUF         = Acesso.cUF.ToString();
                        ws2.ClientCertificates.Add(Acesso.cert_NFe);
                        ws2.nfeCabecMsgValue = cabec;
                        XmlDocument xmlCanc = new XmlDocument();
                        xmlCanc.LoadXml(sDados);
                        XmlNode xNodeCanc = xmlCanc.DocumentElement;
                        string  sRet      = ws2.nfeRecepcaoEvento(xNodeCanc).OuterXml;
                        xRet.LoadXml(sRet);
                    }
                    #endregion
                }
                break;

                case "MS":
                {
                    #region Regiao_SP
                    if (Acesso.TP_AMB == 1)
                    {
                        HLP.GeraXml.WebService.v2_Producao_NFeRecepcaoEvento_MS.nfeCabecMsg    cabec = new HLP.GeraXml.WebService.v2_Producao_NFeRecepcaoEvento_MS.nfeCabecMsg();
                        HLP.GeraXml.WebService.v2_Producao_NFeRecepcaoEvento_MS.RecepcaoEvento ws2   = new HLP.GeraXml.WebService.v2_Producao_NFeRecepcaoEvento_MS.RecepcaoEvento();

                        cabec.versaoDados = "1.00";
                        cabec.cUF         = Acesso.cUF.ToString();
                        ws2.ClientCertificates.Add(Acesso.cert_NFe);
                        ws2.nfeCabecMsgValue = cabec;
                        XmlDocument xmlCanc = new XmlDocument();
                        xmlCanc.LoadXml(sDados);
                        XmlNode xNodeCanc = xmlCanc.DocumentElement;
                        string  sRet      = ws2.nfeRecepcaoEvento(xNodeCanc).OuterXml;
                        xRet.LoadXml(sRet);
                    }
                    if (Acesso.TP_AMB == 2)
                    {
                        throw new Exception("Não implementado");
                    }
                    #endregion
                }
                break;

                case "SVRS":
                {
                    #region Regiao_SP
                    if (Acesso.TP_AMB == 1)
                    {
                        HLP.GeraXml.WebService.V2_Producao_RecepcaoEvento_SVRS.nfeCabecMsg    cabec = new HLP.GeraXml.WebService.V2_Producao_RecepcaoEvento_SVRS.nfeCabecMsg();
                        HLP.GeraXml.WebService.V2_Producao_RecepcaoEvento_SVRS.RecepcaoEvento ws2   = new HLP.GeraXml.WebService.V2_Producao_RecepcaoEvento_SVRS.RecepcaoEvento();

                        cabec.versaoDados = "1.00";
                        cabec.cUF         = Acesso.cUF.ToString();
                        ws2.ClientCertificates.Add(Acesso.cert_NFe);
                        ws2.nfeCabecMsgValue = cabec;
                        XmlDocument xmlCanc = new XmlDocument();
                        xmlCanc.LoadXml(sDados);
                        XmlNode xNodeCanc = xmlCanc.DocumentElement;
                        string  sRet      = ws2.nfeRecepcaoEvento(xNodeCanc).OuterXml;
                        xRet.LoadXml(sRet);
                    }
                    if (Acesso.TP_AMB == 2)
                    {
                        throw new Exception("Não implementado para o RJ em modo de homologação.");
                    }
                    #endregion
                }
                break;

                case "MG":
                {
                    #region Regiao_MG
                    if (Acesso.TP_AMB == 1)
                    {
                        HLP.GeraXml.WebService.v2_Producao_RecepcaoEvento_MG.nfeCabecMsg    cabec = new HLP.GeraXml.WebService.v2_Producao_RecepcaoEvento_MG.nfeCabecMsg();
                        HLP.GeraXml.WebService.v2_Producao_RecepcaoEvento_MG.RecepcaoEvento ws2   = new HLP.GeraXml.WebService.v2_Producao_RecepcaoEvento_MG.RecepcaoEvento();

                        cabec.versaoDados = "1.00";
                        cabec.cUF         = Acesso.cUF.ToString();
                        ws2.ClientCertificates.Add(Acesso.cert_NFe);
                        ws2.nfeCabecMsgValue = cabec;
                        XmlDocument xmlCanc = new XmlDocument();
                        xmlCanc.LoadXml(sDados);
                        XmlNode xNodeCanc = xmlCanc.DocumentElement;
                        string  sRet      = ws2.nfeRecepcaoEvento(xNodeCanc).OuterXml;
                        xRet.LoadXml(sRet);
                    }
                    if (Acesso.TP_AMB == 2)
                    {
                        HLP.GeraXml.WebService.v2_Homologacao_RecepcaoEvento_MG.nfeCabecMsg    cabec = new HLP.GeraXml.WebService.v2_Homologacao_RecepcaoEvento_MG.nfeCabecMsg();
                        HLP.GeraXml.WebService.v2_Homologacao_RecepcaoEvento_MG.RecepcaoEvento ws2   = new HLP.GeraXml.WebService.v2_Homologacao_RecepcaoEvento_MG.RecepcaoEvento();

                        cabec.versaoDados = "1.00";
                        cabec.cUF         = Acesso.cUF.ToString();
                        ws2.ClientCertificates.Add(Acesso.cert_NFe);
                        ws2.nfeCabecMsgValue = cabec;
                        XmlDocument xmlCanc = new XmlDocument();
                        xmlCanc.LoadXml(sDados);
                        XmlNode xNodeCanc = xmlCanc.DocumentElement;
                        string  sRet      = ws2.nfeRecepcaoEvento(xNodeCanc).OuterXml;
                        xRet.LoadXml(sRet);
                    }
                    #endregion
                }
                break;
                }
            }
            else if (Acesso.TP_EMIS == 3)
            {
                #region SCAN
                if (Acesso.TP_AMB == 1)
                {
                    HLP.GeraXml.WebService.v2_SCAN_Producao_NFeCancelamento.NfeCancelamento2 ws2   = new HLP.GeraXml.WebService.v2_SCAN_Producao_NFeCancelamento.NfeCancelamento2();
                    HLP.GeraXml.WebService.v2_SCAN_Producao_NFeCancelamento.nfeCabecMsg      cabec = new HLP.GeraXml.WebService.v2_SCAN_Producao_NFeCancelamento.nfeCabecMsg();
                    cabec.versaoDados = Acesso.versaoNFe;
                    cabec.cUF         = Acesso.cUF.ToString();
                    ws2.ClientCertificates.Add(Acesso.cert_NFe);
                    ws2.nfeCabecMsgValue = cabec;
                    XmlDocument xmlCanc = new XmlDocument();
                    xmlCanc.LoadXml(sDados);
                    XmlNode xNodeCanc = xmlCanc.DocumentElement;
                    xRet.LoadXml(ws2.nfeCancelamentoNF2(xNodeCanc).OuterXml);
                }
                if (Acesso.TP_AMB == 2)
                {
                    HLP.GeraXml.WebService.v2_SCAN_Homologacao_NFeCancelamento.NfeCancelamento2 ws2   = new HLP.GeraXml.WebService.v2_SCAN_Homologacao_NFeCancelamento.NfeCancelamento2();
                    HLP.GeraXml.WebService.v2_SCAN_Homologacao_NFeCancelamento.nfeCabecMsg      cabec = new HLP.GeraXml.WebService.v2_SCAN_Homologacao_NFeCancelamento.nfeCabecMsg();

                    cabec.versaoDados = Acesso.versaoNFe;
                    cabec.cUF         = Acesso.cUF.ToString();
                    ws2.ClientCertificates.Add(Acesso.cert_NFe);
                    ws2.nfeCabecMsgValue = cabec;
                    XmlDocument xmlCanc = new XmlDocument();
                    xmlCanc.LoadXml(sDados);
                    XmlNode xNodeCanc = xmlCanc.DocumentElement;
                    xRet.LoadXml(ws2.nfeCancelamentoNF2(xNodeCanc).OuterXml);
                }
                #endregion
            }
            else if (Acesso.TP_EMIS == 6)
            {
                #region SCAN
                if (Acesso.TP_AMB == 1)
                {
                    HLP.GeraXml.WebService.v2_SVC_Producao_RecepcaoEvento.RecepcaoEvento ws2   = new WebService.v2_SVC_Producao_RecepcaoEvento.RecepcaoEvento();
                    HLP.GeraXml.WebService.v2_SVC_Producao_RecepcaoEvento.nfeCabecMsg    cabec = new WebService.v2_SVC_Producao_RecepcaoEvento.nfeCabecMsg();

                    cabec.versaoDados = "1.00";
                    cabec.cUF         = Acesso.cUF.ToString();
                    ws2.ClientCertificates.Add(Acesso.cert_NFe);
                    ws2.nfeCabecMsgValue = cabec;
                    XmlDocument xmlCanc = new XmlDocument();
                    xmlCanc.LoadXml(sDados);
                    XmlNode xNodeCanc = xmlCanc.DocumentElement;
                    string  sRet      = ws2.nfeRecepcaoEvento(xNodeCanc).OuterXml;
                    xRet.LoadXml(sRet);
                }
                if (Acesso.TP_AMB == 2)
                {
                    HLP.GeraXml.WebService.v2_SVC_Homologacao_RecepcaoEvento.RecepcaoEvento ws2   = new WebService.v2_SVC_Homologacao_RecepcaoEvento.RecepcaoEvento();
                    HLP.GeraXml.WebService.v2_SVC_Homologacao_RecepcaoEvento.nfeCabecMsg    cabec = new WebService.v2_SVC_Homologacao_RecepcaoEvento.nfeCabecMsg();

                    cabec.versaoDados = "1.00";
                    cabec.cUF         = Acesso.cUF.ToString();
                    ws2.ClientCertificates.Add(Acesso.cert_NFe);
                    ws2.nfeCabecMsgValue = cabec;
                    XmlDocument xmlCanc = new XmlDocument();
                    xmlCanc.LoadXml(sDados);
                    XmlNode xNodeCanc = xmlCanc.DocumentElement;
                    string  sRet      = ws2.nfeRecepcaoEvento(xNodeCanc).OuterXml;
                    xRet.LoadXml(sRet);
                }
                #endregion
            }


            string sPath = Pastas.PROTOCOLOS + "\\" + objPesquisa.sCD_NFSEQ + "_Ret_Pedcan" + DateTime.Now.ToString("ddMMyyHHmmss") + ".xml";
            xRet.Save(sPath);

            belRetEventoCancelamento objRet = SerializeClassToXml.DeserializeClasse <belRetEventoCancelamento>(sPath);

            if (objRet.retEvento.infEvento.cStat == "573")
            {
                objRetorno = new DadosRetorno();
                iNumEvento = iNumEvento + 1;
                EfetuaCancelamento(_objPesquisa, sJust, iNumEvento);
            }
            else
            {
                objRetorno = CarregaDadosRetorno(objRet);
            }
        }
예제 #2
0
        public void EfetuaCancelamento(belPesquisaNotas _objPesquisa, string sJust, int iNumEvento)
        {
            this.objPesquisa = _objPesquisa;
            string sDados = NFeDadosMsg2(_objPesquisa, sJust, iNumEvento);
            XmlDocument xRet = new XmlDocument();

            if (Acesso.TP_EMIS == 1)
            {
                switch (Acesso.xUFtoWS)
                {
                    case "SP":
                        {
                            #region Regiao_SP
                            if (Acesso.TP_AMB == 1)
                            {
                                HLP.GeraXml.WebService.v2_Producao_NFeRecepcaoEvento_SP.RecepcaoEvento ws2 = new WebService.v2_Producao_NFeRecepcaoEvento_SP.RecepcaoEvento();
                                HLP.GeraXml.WebService.v2_Producao_NFeRecepcaoEvento_SP.nfeCabecMsg cabec = new WebService.v2_Producao_NFeRecepcaoEvento_SP.nfeCabecMsg();

                                cabec.versaoDados = "1.00";
                                cabec.cUF = Acesso.cUF.ToString();
                                ws2.ClientCertificates.Add(Acesso.cert_NFe);
                                ws2.nfeCabecMsgValue = cabec;
                                XmlDocument xmlCanc = new XmlDocument();
                                xmlCanc.LoadXml(sDados);
                                XmlNode xNodeCanc = xmlCanc.DocumentElement;
                                string sRet = ws2.nfeRecepcaoEvento(xNodeCanc).OuterXml;
                                xRet.LoadXml(sRet);

                            }
                            if (Acesso.TP_AMB == 2)
                            {
                                HLP.GeraXml.WebService.v2_Homologacao_NFeRecepcaoEvento_SP.nfeCabecMsg cabec = new HLP.GeraXml.WebService.v2_Homologacao_NFeRecepcaoEvento_SP.nfeCabecMsg();
                                HLP.GeraXml.WebService.v2_Homologacao_NFeRecepcaoEvento_SP.RecepcaoEvento ws2 = new HLP.GeraXml.WebService.v2_Homologacao_NFeRecepcaoEvento_SP.RecepcaoEvento();

                                cabec.versaoDados = "1.00";
                                cabec.cUF = Acesso.cUF.ToString();
                                ws2.ClientCertificates.Add(Acesso.cert_NFe);
                                ws2.nfeCabecMsgValue = cabec;
                                XmlDocument xmlCanc = new XmlDocument();
                                xmlCanc.LoadXml(sDados);
                                XmlNode xNodeCanc = xmlCanc.DocumentElement;
                                string sRet = ws2.nfeRecepcaoEvento(xNodeCanc).OuterXml;
                                xRet.LoadXml(sRet);

                            }
                            #endregion
                        }
                        break;
                    case "RS":
                        {
                            #region Regiao_RS
                            if (Acesso.TP_AMB == 1)
                            {
                                HLP.GeraXml.WebService.v2_Producao_NFeRecepcaoEvento_RS.RecepcaoEvento ws2 = new WebService.v2_Producao_NFeRecepcaoEvento_RS.RecepcaoEvento();
                                HLP.GeraXml.WebService.v2_Producao_NFeRecepcaoEvento_RS.nfeCabecMsg cabec = new WebService.v2_Producao_NFeRecepcaoEvento_RS.nfeCabecMsg();

                                cabec.versaoDados = "1.00";
                                cabec.cUF = Acesso.cUF.ToString();
                                ws2.ClientCertificates.Add(Acesso.cert_NFe);
                                ws2.nfeCabecMsgValue = cabec;
                                XmlDocument xmlCanc = new XmlDocument();
                                xmlCanc.LoadXml(sDados);
                                XmlNode xNodeCanc = xmlCanc.DocumentElement;
                                string sRet = ws2.nfeRecepcaoEvento(xNodeCanc).OuterXml;
                                xRet.LoadXml(sRet);

                            }
                            if (Acesso.TP_AMB == 2)
                            {
                                HLP.GeraXml.WebService.v2_Homologacao_NFeRecepcaoEvento_RS.nfeCabecMsg cabec = new HLP.GeraXml.WebService.v2_Homologacao_NFeRecepcaoEvento_RS.nfeCabecMsg();
                                HLP.GeraXml.WebService.v2_Homologacao_NFeRecepcaoEvento_RS.RecepcaoEvento ws2 = new HLP.GeraXml.WebService.v2_Homologacao_NFeRecepcaoEvento_RS.RecepcaoEvento();

                                cabec.versaoDados = "1.00";
                                cabec.cUF = Acesso.cUF.ToString();
                                ws2.ClientCertificates.Add(Acesso.cert_NFe);
                                ws2.nfeCabecMsgValue = cabec;
                                XmlDocument xmlCanc = new XmlDocument();
                                xmlCanc.LoadXml(sDados);
                                XmlNode xNodeCanc = xmlCanc.DocumentElement;
                                string sRet = ws2.nfeRecepcaoEvento(xNodeCanc).OuterXml;
                                xRet.LoadXml(sRet);

                            }
                            #endregion
                        }
                        break;
                    case "MS":
                        {
                            #region Regiao_SP
                            if (Acesso.TP_AMB == 1)
                            {
                                HLP.GeraXml.WebService.v2_Producao_NFeRecepcaoEvento_MS.nfeCabecMsg cabec = new HLP.GeraXml.WebService.v2_Producao_NFeRecepcaoEvento_MS.nfeCabecMsg();
                                HLP.GeraXml.WebService.v2_Producao_NFeRecepcaoEvento_MS.RecepcaoEvento ws2 = new HLP.GeraXml.WebService.v2_Producao_NFeRecepcaoEvento_MS.RecepcaoEvento();

                                cabec.versaoDados = "1.00";
                                cabec.cUF = Acesso.cUF.ToString();
                                ws2.ClientCertificates.Add(Acesso.cert_NFe);
                                ws2.nfeCabecMsgValue = cabec;
                                XmlDocument xmlCanc = new XmlDocument();
                                xmlCanc.LoadXml(sDados);
                                XmlNode xNodeCanc = xmlCanc.DocumentElement;
                                string sRet = ws2.nfeRecepcaoEvento(xNodeCanc).OuterXml;
                                xRet.LoadXml(sRet);

                            }
                            if (Acesso.TP_AMB == 2)
                            {
                                throw new Exception("Não implementado");

                            }
                            #endregion
                        }
                        break;
                    case "SVRS":
                        {
                            #region Regiao_SP
                            if (Acesso.TP_AMB == 1)
                            {
                                HLP.GeraXml.WebService.V2_Producao_RecepcaoEvento_SVRS.nfeCabecMsg cabec = new HLP.GeraXml.WebService.V2_Producao_RecepcaoEvento_SVRS.nfeCabecMsg();
                                HLP.GeraXml.WebService.V2_Producao_RecepcaoEvento_SVRS.RecepcaoEvento ws2 = new HLP.GeraXml.WebService.V2_Producao_RecepcaoEvento_SVRS.RecepcaoEvento();

                                cabec.versaoDados = "1.00";
                                cabec.cUF = Acesso.cUF.ToString();
                                ws2.ClientCertificates.Add(Acesso.cert_NFe);
                                ws2.nfeCabecMsgValue = cabec;
                                XmlDocument xmlCanc = new XmlDocument();
                                xmlCanc.LoadXml(sDados);
                                XmlNode xNodeCanc = xmlCanc.DocumentElement;
                                string sRet = ws2.nfeRecepcaoEvento(xNodeCanc).OuterXml;
                                xRet.LoadXml(sRet);
                            }
                            if (Acesso.TP_AMB == 2)
                            {                                
                                throw new Exception("Não implementado para o RJ em modo de homologação.");
                            }
                            #endregion
                        }
                        break;
                    case "MG":
                        {
                            #region Regiao_MG
                            if (Acesso.TP_AMB == 1)
                            {
                                HLP.GeraXml.WebService.v2_Producao_RecepcaoEvento_MG.nfeCabecMsg cabec = new HLP.GeraXml.WebService.v2_Producao_RecepcaoEvento_MG.nfeCabecMsg();
                                HLP.GeraXml.WebService.v2_Producao_RecepcaoEvento_MG.RecepcaoEvento ws2 = new HLP.GeraXml.WebService.v2_Producao_RecepcaoEvento_MG.RecepcaoEvento();

                                cabec.versaoDados = "1.00";
                                cabec.cUF = Acesso.cUF.ToString();
                                ws2.ClientCertificates.Add(Acesso.cert_NFe);
                                ws2.nfeCabecMsgValue = cabec;
                                XmlDocument xmlCanc = new XmlDocument();
                                xmlCanc.LoadXml(sDados);
                                XmlNode xNodeCanc = xmlCanc.DocumentElement;
                                string sRet = ws2.nfeRecepcaoEvento(xNodeCanc).OuterXml;
                                xRet.LoadXml(sRet);

                            }
                            if (Acesso.TP_AMB == 2)
                            {
                                HLP.GeraXml.WebService.v2_Homologacao_RecepcaoEvento_MG.nfeCabecMsg cabec = new HLP.GeraXml.WebService.v2_Homologacao_RecepcaoEvento_MG.nfeCabecMsg();
                                HLP.GeraXml.WebService.v2_Homologacao_RecepcaoEvento_MG.RecepcaoEvento ws2 = new HLP.GeraXml.WebService.v2_Homologacao_RecepcaoEvento_MG.RecepcaoEvento();

                                cabec.versaoDados = "1.00";
                                cabec.cUF = Acesso.cUF.ToString();
                                ws2.ClientCertificates.Add(Acesso.cert_NFe);
                                ws2.nfeCabecMsgValue = cabec;
                                XmlDocument xmlCanc = new XmlDocument();
                                xmlCanc.LoadXml(sDados);
                                XmlNode xNodeCanc = xmlCanc.DocumentElement;
                                string sRet = ws2.nfeRecepcaoEvento(xNodeCanc).OuterXml;
                                xRet.LoadXml(sRet);

                            }
                            #endregion
                        }
                        break;
                }
            }
            else if (Acesso.TP_EMIS == 3)
            {
                #region SCAN
                if (Acesso.TP_AMB == 1)
                {
                    HLP.GeraXml.WebService.v2_SCAN_Producao_NFeCancelamento.NfeCancelamento2 ws2 = new HLP.GeraXml.WebService.v2_SCAN_Producao_NFeCancelamento.NfeCancelamento2();
                    HLP.GeraXml.WebService.v2_SCAN_Producao_NFeCancelamento.nfeCabecMsg cabec = new HLP.GeraXml.WebService.v2_SCAN_Producao_NFeCancelamento.nfeCabecMsg();
                    cabec.versaoDados = Acesso.versaoNFe;
                    cabec.cUF = Acesso.cUF.ToString();
                    ws2.ClientCertificates.Add(Acesso.cert_NFe);
                    ws2.nfeCabecMsgValue = cabec;
                    XmlDocument xmlCanc = new XmlDocument();
                    xmlCanc.LoadXml(sDados);
                    XmlNode xNodeCanc = xmlCanc.DocumentElement;
                    xRet.LoadXml(ws2.nfeCancelamentoNF2(xNodeCanc).OuterXml);

                }
                if (Acesso.TP_AMB == 2)
                {

                    HLP.GeraXml.WebService.v2_SCAN_Homologacao_NFeCancelamento.NfeCancelamento2 ws2 = new HLP.GeraXml.WebService.v2_SCAN_Homologacao_NFeCancelamento.NfeCancelamento2();
                    HLP.GeraXml.WebService.v2_SCAN_Homologacao_NFeCancelamento.nfeCabecMsg cabec = new HLP.GeraXml.WebService.v2_SCAN_Homologacao_NFeCancelamento.nfeCabecMsg();

                    cabec.versaoDados = Acesso.versaoNFe;
                    cabec.cUF = Acesso.cUF.ToString();
                    ws2.ClientCertificates.Add(Acesso.cert_NFe);
                    ws2.nfeCabecMsgValue = cabec;
                    XmlDocument xmlCanc = new XmlDocument();
                    xmlCanc.LoadXml(sDados);
                    XmlNode xNodeCanc = xmlCanc.DocumentElement;
                    xRet.LoadXml(ws2.nfeCancelamentoNF2(xNodeCanc).OuterXml);

                }
                #endregion
            }
            else if (Acesso.TP_EMIS == 6)
            {
                #region SCAN
                if (Acesso.TP_AMB == 1)
                {
                    HLP.GeraXml.WebService.v2_SVC_Producao_RecepcaoEvento.RecepcaoEvento ws2 = new WebService.v2_SVC_Producao_RecepcaoEvento.RecepcaoEvento();
                    HLP.GeraXml.WebService.v2_SVC_Producao_RecepcaoEvento.nfeCabecMsg cabec = new WebService.v2_SVC_Producao_RecepcaoEvento.nfeCabecMsg();

                    cabec.versaoDados = "1.00";
                    cabec.cUF = Acesso.cUF.ToString();
                    ws2.ClientCertificates.Add(Acesso.cert_NFe);
                    ws2.nfeCabecMsgValue = cabec;
                    XmlDocument xmlCanc = new XmlDocument();
                    xmlCanc.LoadXml(sDados);
                    XmlNode xNodeCanc = xmlCanc.DocumentElement;
                    string sRet = ws2.nfeRecepcaoEvento(xNodeCanc).OuterXml;
                    xRet.LoadXml(sRet);

                }
                if (Acesso.TP_AMB == 2)
                {
                    HLP.GeraXml.WebService.v2_SVC_Homologacao_RecepcaoEvento.RecepcaoEvento ws2 = new WebService.v2_SVC_Homologacao_RecepcaoEvento.RecepcaoEvento();
                    HLP.GeraXml.WebService.v2_SVC_Homologacao_RecepcaoEvento.nfeCabecMsg cabec = new WebService.v2_SVC_Homologacao_RecepcaoEvento.nfeCabecMsg();

                    cabec.versaoDados = "1.00";
                    cabec.cUF = Acesso.cUF.ToString();
                    ws2.ClientCertificates.Add(Acesso.cert_NFe);
                    ws2.nfeCabecMsgValue = cabec;
                    XmlDocument xmlCanc = new XmlDocument();
                    xmlCanc.LoadXml(sDados);
                    XmlNode xNodeCanc = xmlCanc.DocumentElement;
                    string sRet = ws2.nfeRecepcaoEvento(xNodeCanc).OuterXml;
                    xRet.LoadXml(sRet);
                }
                #endregion
            }


            string sPath = Pastas.PROTOCOLOS + "\\" + objPesquisa.sCD_NFSEQ + "_Ret_Pedcan" + DateTime.Now.ToString("ddMMyyHHmmss") + ".xml";
            xRet.Save(sPath);

            belRetEventoCancelamento objRet = SerializeClassToXml.DeserializeClasse<belRetEventoCancelamento>(sPath);

            if (objRet.retEvento.infEvento.cStat == "573")
            {
                objRetorno = new DadosRetorno();
                iNumEvento = iNumEvento + 1;
                EfetuaCancelamento(_objPesquisa, sJust, iNumEvento);
            }
            else
            {
              objRetorno =  CarregaDadosRetorno(objRet);
            }            
        }