CONSUMINDO WS NFE COM .NET CORE

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

CONSUMINDO WS NFE COM .NET CORE

C#

 Compartilhe  Compartilhe  Compartilhe
#500280 - 02/08/2022 14:54:36

MARCOSFSAN
SAO PAULO
Cadast. em:Setembro/2009


Última edição em 02/08/2022 14:55:50 por MARCOSFSAN

pessoal, estou fazendo a migração do meu projeto NFE para .NET CORE mas estou com problemas na hora de consumir o WS o código abaixo é apenas um exemplo para testar as funcionalidades e compatibilidade mas não consigo obter sucesso, recebo erro ' The HTTP request was forbidden with client authentication scheme 'Anonymous'.'

Algum de vcs usa .NET Core  consumindo esses serviços  já tiveram esse problema? Desconfio que seja algo no BINDING mas até agora não descobri o que é.


  

  string xml = '<xml version = '1.0'>';
            xml += '    <consStatServ xmlns ='http://www.portalfiscal.inf.br/nfe'  versao='4.00'>';          
            xml += '        <tpAmb>2</tpAmb>';
            xml += '        <cUF>35</cUF>';
            xml += '        <xServ>STATUS</xServ>';
            xml += '    </consStatServ>';
            xml += '</xml>';

          
            XmlDocument xmlRequest = new XmlDocument();
            xmlRequest.LoadXml(xml);

            var endpoint = new EndpointAddress('https://homologacao.nfe.fazenda.sp.gov.br/ws/nfestatusservico4.asmx');
            BasicHttpBinding binding = new BasicHttpBinding();
            binding.MaxBufferPoolSize = 65535;
            binding.MaxBufferSize = 65535;
            binding.MaxReceivedMessageSize = 65535;
            binding.TransferMode = TransferMode.Buffered;
            binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Certificate;
            binding.Security.Mode = BasicHttpSecurityMode.TransportWithMessageCredential;
            binding.Security.Message.ClientCredentialType = BasicHttpMessageCredentialType.Certificate;

            NFeStatusServico4Soap12Client WS = new NFeStatusServico4Soap12Client(binding,endpoint);          
            WS.ClientCredentials.ClientCertificate.Certificate = Pegacertificado(@'C:\Temp\CERTIFICADO.pfx', '12345678');
                        
            try
            {
                ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
                ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
                var ret = WS.nfeStatusServicoNF(xmlRequest.DocumentElement);
                Console.WriteLine(ret.OuterXml);
            }
            catch (Exception ex)
            {

                Console.WriteLine(ex.Message);
            }
            



grato


Marcos


#500281 - 02/08/2022 17:36:20

FUTURA
.
Cadast. em:Maio/2004


tls11 ?,  não teria q ser tls12 ou superior ?



#500282 - 02/08/2022 18:15:54

MARCOSFSAN
SAO PAULO
Cadast. em:Setembro/2009


Já tentei e com 1.1 e 1.2 nada  não faz a comunicação.

Marcos


 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