none
The HTTP request was forbidden with client authentication scheme 'Anonymous' RRS feed

  • Pergunta

  • Olá Pessoal,

    Estou com um problema que vem se arrastando por 5 dias, Estamos tentando estabelecer uma integração com um cliente da empresa que utiliza Certificado SSL.

    Criamos uma pequena aplicação apenas para testar o consumo do serviço configurando o Certificado Digital na aplicação e o usuário e senha mas não funciona e sempre apresenta a msg "The HTTP request was forbidden with client authentication scheme 'Anonymous'.".

    O que é curioso nesse caso é que utilizando o SOAPUI e o consumo funciona perfeitamente.

    Já consultei diversas documentações, escrevo o código exatamente como é exemplificado mais não funciona.

    Abaixo o código do meu Form

    private void button1_Click(object sender, EventArgs e)
            {
                ControlFileHeader fielder = new ControlFileHeader();
                fielder.FileSenderNumber = "80025639";
                fielder.FileIdentifier = "INVENTORY";
                fielder.FileDate = "2016-08-09";
                fielder.FileTime = "06:30:42Z";
    
                MDXInventoryMessage mdxInventario = new MDXInventoryMessage();
                mdxInventario.ControlFileHeader = fielder;
    
    
                #region MasterItem
    
                InventoryMasterItem inventario1 = new InventoryMasterItem();
                inventario1.ProductBatch = "SER001";
                inventario1.GEType = "E";
                inventario1.EanGtin = "1010006570014";
                inventario1.EfectiveDate = "2016-08-08";
                inventario1.Branch = "Osasco";
                inventario1.InventoryAvailable = "400";
                inventario1.InventoryUnavailable = "31";
                inventario1.OnOrder = "23";
                inventario1.UnitMeasure = "EA";
                inventario1.Country = "BR";
    
                InventoryMasterItem inventario2 = new InventoryMasterItem();
                inventario2.ProductBatch = "SER099";
                inventario2.GEType = "E";
                inventario2.EanGtin = "1010006570019";
                inventario2.EfectiveDate = "2016-08-08";
                inventario2.Branch = "Sao Paulo";
                inventario2.InventoryAvailable = "600";
                inventario2.InventoryUnavailable = "29";
                inventario2.OnOrder = "23";
                inventario2.UnitMeasure = "EA";
                inventario2.Country = "BR";
    
                #endregion
    
                List<InventoryMasterItem> listaInventory = new List<InventoryMasterItem>();
                listaInventory.Add(inventario1);
                listaInventory.Add(inventario2);
    
                mdxInventario.MessageBody = listaInventory.ToArray();
    
    
                string certPath = @"C:\XXXXX\XXXXX\XXXXXX.pfx";
                string certPass = "XXXXXX11";
    
               
    
             DataExchangeDistribution_WS_PortTypeClient cliente = new DataExchangeDistribution_WS_PortTypeClient();
    
    
    
             cliente.ClientCredentials.ClientCertificate.Certificate = new X509Certificate2(certPath, certPass);
                            
    
                
                cliente.ClientCredentials.UserName.UserName = "XXXXXX";
                cliente.ClientCredentials.UserName.Password = "XXXXXXX";
    
             
                // Nesse ponto Recebemos a MSG: "The HTTP request was forbidden with client authentication scheme 'Anonymous'."
                string retorno =  cliente.createInventory(mdxInventario);
    
                MessageBox.Show(retorno);
    }
    

    Alguém por gentileza pode dar uma olhada e me falar o que esta faltando.

    Já não tenho mais aonde pesquisar sobre isso.


    Danilo FS

    sexta-feira, 2 de dezembro de 2016 13:29

Todas as Respostas