Array
(
)

Consumir Web Service com Certificado

Fabianogoes
   - 04 fev 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.

Eleuterio Gonzalez
   - 15 fev 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);

Fábio Freitas
   - 22 nov 2012

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