Consumir Web Service com Certificado

.NET

04/02/2010

Senhores,

Estou desenvolvendo uma aplicação que consome o Webservices Consulta cadastro da Nfe.

Na chamada do objeto ja instanciado, me retorna o seguinte erro: A solicitação HTTP está proibida com o esquema de autenticação de cliente 'Anonymous'.

Mas ja estou passando o certificado na chamada do Methodo. em Debug consigo ver o certificado e todas as suas propriedades, data de validade e numero de serie.

alguem sabe oque pode estar ocorrendo?

uso o segundo overload do do methodo SetCertificate, pois o primeiro me retorna o erro abaixo:

Cad.ClientCredentials.ClientCertificate.SetCertificate(


"EMPRESA", StoreLocation.CurrentUser, StoreName.My);

Não é possível encontrar o certificado X.509 usando os seguintes critérios de pesquisa: StoreName 'My', StoreLocation 'CurrentUser', FindType 'FindBySubjectDistinguishedName', FindValue 'EMPRESA'.

Uso o Framework 3.5

string CadCabMsg = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><cabecMsg xmlns=\"http://www.portalfiscal.inf.br/nfe\" versao=\"1.02\"><versaoDados>1.01</versaoDados></cabecMsg>";

string CadMsg = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><ConsCad xmlns=\"http://www.portalfiscal.inf.br/nfe\" versao=\"1.02\"><infCons><xServ>CONS-CAD</xServ><UF>SP</UF><IE>645252690113</IE><CNPJ>48539407008879</CNPJ></infCons></ConsCad>";


ConsultaCadastro.

CadConsultaCadastroSoapClient Cad = new CadConsulta.ConsultaCadastro.CadConsultaCadastroSoapClient();

Cad.ClientCredentials.ClientCertificate.SetCertificate(
StoreLocation.CurrentUser, StoreName.My, X509FindType.FindBySubjectName, "EMPRESA");

 
string retorno = Cad.consultaCadastro(CadCabMsg, CadMsg); //Erro nessa chamada


A solicitação HTTP está proibida com o esquema de autenticação de cliente 'Anonymous'.


se alguem puder me dar uma ajuda ficaria agradecido.


Fabiano Góes

Fabiano Góes

Curtidas 0

Mais Respostas

Eleuterio Gonzalez

Eleuterio Gonzalez

04/02/2010

Estava com este problema em uma aplicação minha e coloquei esta linha e resolveu . abraços
cWSNfeTeste.ClientCertificates.Add(meuCertificado);   cretorno = cWSNfeTeste.nfeStatusServicoNF(nfeCabec, nfedados);
GOSTEI 0
Fábio Freitas

Fábio Freitas

04/02/2010

Olá, tudo bem?
Estou com um problema parecido com este, minha aplicação web precisa acessar o certificado instalado na máquina do usuário e assinar o XML, vocês já precisaram fazer algo parecido?

Desde já agradeço
GOSTEI 0
POSTAR