ERRO AO CHAMAR NFESTATUSSERVICO4

 Tópico anterior Próximo tópico Novo tópico

ERRO AO CHAMAR NFESTATUSSERVICO4

VB.NET

 Compartilhe  Compartilhe  Compartilhe
#496092 - 19/01/2021 11:27:04

IVANDGT100
BELO HORIZONTE
Cadast. em:Abril/2014


    Bom dia senhores!
    Estou durante 3 dias tentando efetuar comunicação com o web service da sefaz mg
    para a função NFeStatusServico4 e estou encontrando o erro:
        'The remote server returned an error: (501) Not Implemented.'
    
        para o endereço: https://hnfce.fazenda.mg.gov.br/nfce/services/NFeStatusServico4?wsdl
            o servidor retorna o status normal
        
        para o endereço: https://hnfe.fazenda.mg.gov.br/nfe2/services/NFeStatusServico4?wsdl
            o servidor retorna 'The remote server returned an error: (501) Not Implemented.'
            
    anexo o código para melhor ilustrar.
    agradeço toda ajuda possível!


        public string QxHttp2(XmlNode xml, string url, string metodo)
        {
            string xret = string.Empty;
            string xmlSoap = '';

            try
            {
                ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
                ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;

                url = 'https://hnfce.fazenda.mg.gov.br/nfce/services/NFeStatusServico4?wsdl';           //funciona
                //url = 'https://hnfe.fazenda.mg.gov.br/nfe2/services/NFeStatusServico4?wsdl';          //gera erro

                xmlSoap =
                    '<?xml version='1.0' encoding='UTF-8'?>' +
                        '<soap12:Envelope' +
                        ' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'' +
                        ' xmlns:xsd='http://www.w3.org/2001/XMLSchema'' +
                        ' xmlns:soap12='http://www.w3.org/2003/05/soap-envelope'>' +
                        '<soap12:Body>' +
                            '<nfeDadosMsg xmlns='http://www.portalfiscal.inf.br/nfe/wsdl/NFeStatusServico4'>' +
                                '<consStatServ versao='4.00' xmlns='http://www.portalfiscal.inf.br/nfe'>' +
                                    '<tpAmb>2</tpAmb>' +
                                    '<cUF>31</cUF>' +
                                    '<xServ>STATUS</xServ>' +
                                '</consStatServ>' +
                            '</nfeDadosMsg>' +
                        '</soap12:Body>' +
                    '</soap12:Envelope>';


                HttpWebRequest httpWR = (HttpWebRequest)WebRequest.Create(url);  

                httpWR.PreAuthenticate = true;
                httpWR.ServicePoint.Expect100Continue = false;
                httpWR.CookieContainer = new CookieContainer();
                httpWR.Timeout = 30000;
                httpWR.Headers.Add('SOAP:Action');
                httpWR.Accept = 'text/xml';
                httpWR.KeepAlive = false;
                httpWR.Proxy = WebRequest.GetSystemWebProxy();

                httpWR.ContentLength = Encoding.ASCII.GetBytes(xmlSoap).Length;
                httpWR.ClientCertificates.Add(gcer);
                httpWR.ContentType = 'application/soap+xml;charset=utf-8';        
                httpWR.SendChunked = true;                                      
                httpWR.TransferEncoding = Encoding.UTF8.ToString();
                httpWR.Method = WebRequestMethods.Http.Post;                    

                //
                Stream reqStream = httpWR.GetRequestStream();
                StreamWriter streamWriter = new StreamWriter(reqStream);
                streamWriter.Write(xmlSoap, 0, Encoding.ASCII.GetBytes(xmlSoap).Length);
                streamWriter.Close();

                WebResponse webResponse = httpWR.GetResponse();
                Stream respStream = webResponse.GetResponseStream();
                StreamReader streamReader = new StreamReader(respStream);

                //
                xret = streamReader.ReadToEnd();
                return xret;
            }
            catch (WebException ex)
            {
                using (var stream = ex.Response.GetResponseStream())
                using (var reader = new StreamReader(stream))
                {
                    Console.WriteLine(reader.ReadToEnd());
                }
                throw;
            }
        }



Gentileza gera Gentileza - Profeta Gentileza


#496093 - 19/01/2021 12:47:58

IVANDGT100
BELO HORIZONTE
Cadast. em:Abril/2014


Senhores obrigado pela atenção!
Consegui solucionar o problema!
Ao ler o código do professor Elucimar, consegui alterar a configuração do HttpWebRequest obtendo sucesso!

Agradeço muito ao professor Elucimar!
Abaixo a parte do código ajustado!

url = 'https://hnfe.fazenda.mg.gov.br/nfe2/services/NFeStatusServico4'

                    httpWR.PreAuthenticate = true;
                    httpWR.ServicePoint.Expect100Continue = false;
                    httpWR.CookieContainer = new CookieContainer();
                    httpWR.Timeout = 30000;
                    httpWR.Headers.Add('SOAP:Action');
                    httpWR.ContentType = 'application/soap+xml;charset=utf-8';                  //, Encoding.UTF8, metodo);     2020 1114?
                    httpWR.Method = WebRequestMethods.Http.Post;                                //210118
                    httpWR.Accept = 'text/xml';
                    httpWR.KeepAlive = false;
                    httpWR.ClientCertificates.Add(gcer);
                    httpWR.ContentLength = Encoding.ASCII.GetBytes(xmlSoap).Length;
                    httpWR.Proxy = WebRequest.GetSystemWebProxy();
                    httpWR.SendChunked = true;                                                  //201127


Gentileza gera Gentileza - Profeta Gentileza


#496096 - 19/01/2021 16:41:39

ELUCIMAR
GOIANIA
Cadast. em:Dezembro/2003


Citação:
Agradeço muito ao professor Elucimar!




E.A.M

Cursos de Excel e VB6:
cursoexcelvba.com.br



 Tópico anterior Próximo tópico Novo tópico


Para responder este tópico o login é requerido
Se você já possui uma conta de usuário por favor faça seu login
Se você não possui uma conta de usuário use a opção Criar usuário