Usuário com melhor resposta
NFe Serviços Cidade de São Paulo

Pergunta
-
Estou tentando consumir o webservice da Cidade de São Paulo.
Ele apresenta o seguinte erro:
The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
Com o código abaixo passa
System.Net.
ServicePointManager.ServerCertificateValidationCallback = delegate
{
return true;
mas ai quando faz a consumo o webservice de consulta CNPJ por exemplo da Certificado Inválido.
Alguém já conseguiu fazer a comunicação?
};
Respostas
-
Alexandre,
Dei uma pesquisada NFe e no seu código:
1. Pelo que eu sei, esse código: ServicePointManager.ServerCertificateValidationCallback ... meio que burla a certificação de um web service.
2. Pelo que está escrito nesse site, fala sobre a questão de utilizar certificado gerado pela prefeitura http://ww2.prefeitura.sp.gov.br/nfe/saibamais_nfe_in_08.asp
3. Nesse manual tem uma explicação bem detalhada sobre esse sobre isso e também fala sobre uma senha web que você pode utilizar junto ao cnpj da empresa para acessar o web service. http://ww2.prefeitura.sp.gov.br/nfe/files/Manual-NFe-PJ-v4-0.pdf
4. O primeiro erro pode ser que a URL de acessa o método está escrito errado.
5. O segundo é por causa do certificado mesmo. Esse webservice parece ser bem rigido nesse quesito. Simplesmente fazer ele validar como true, temo que não seja suficiente.
Samuel Fabel- Sugerido como Resposta AndreAlvesLimaModerator segunda-feira, 21 de junho de 2010 16:13
- Marcado como Resposta AndreAlvesLimaModerator sexta-feira, 2 de julho de 2010 00:25
-
Alexandre,
De qualquer modo, de uma olhada nesse link: http://msdn.microsoft.com/en-us/library/aa395203(VS.90).aspx
Não é exatamente o que você precisa, mas dá uma explicação sobre as certificações.
Samuel Fabel- Sugerido como Resposta AndreAlvesLimaModerator quinta-feira, 24 de junho de 2010 23:28
- Marcado como Resposta AndreAlvesLimaModerator sexta-feira, 2 de julho de 2010 00:25
Todas as Respostas
-
Alexandre,
Dei uma pesquisada NFe e no seu código:
1. Pelo que eu sei, esse código: ServicePointManager.ServerCertificateValidationCallback ... meio que burla a certificação de um web service.
2. Pelo que está escrito nesse site, fala sobre a questão de utilizar certificado gerado pela prefeitura http://ww2.prefeitura.sp.gov.br/nfe/saibamais_nfe_in_08.asp
3. Nesse manual tem uma explicação bem detalhada sobre esse sobre isso e também fala sobre uma senha web que você pode utilizar junto ao cnpj da empresa para acessar o web service. http://ww2.prefeitura.sp.gov.br/nfe/files/Manual-NFe-PJ-v4-0.pdf
4. O primeiro erro pode ser que a URL de acessa o método está escrito errado.
5. O segundo é por causa do certificado mesmo. Esse webservice parece ser bem rigido nesse quesito. Simplesmente fazer ele validar como true, temo que não seja suficiente.
Samuel Fabel- Sugerido como Resposta AndreAlvesLimaModerator segunda-feira, 21 de junho de 2010 16:13
- Marcado como Resposta AndreAlvesLimaModerator sexta-feira, 2 de julho de 2010 00:25
-
Samuel,
Nesse link tem o manual do web service http://ww2.prefeitura.sp.gov.br/nfe/files/NFe-Web-Service-v2-2.pdf, pelo que entendi a senha web é pra digitar no site as notas.
Eu já validei o meu certificado na Prefeitura seguindo um e-mail enviado por eles.
No manual consta o seguinte:
Para a validação da assinatura digital, seguem as regras que serão adotadas pelo Sistema de Notas Fiscais Eletrônicas da Prefeitura de São Paulo:
A. Extrair a chave pública do certificado digital e não utilizar a chave indicada na TAG XML (ds:KeyValue);
B. Verificar o prazo de validade do certificado utilizado;
C. Montar e validar a cadeia de confiança dos certificados validando também a LCR (Lista de Certificados Revogados) de cada certificado da cadeia;
D. Validar o uso da chave utilizada (Assinatura Digital) de tal forma a aceitar certificados somente do tipo A (não serão aceitos certificados do tipo S);
E. Garantir que o certificado utilizado é de um usuário final e não de uma Autoridade Certificadora;
F. Adotar as regras definidas pelo RFC 3280 para LCRs e cadeia de confiança;
G. Validar a integridade de todas as LCR utilizadas pelo sistema;
H. Prazo de validade de cada LCR utilizada (verificar data inicial e final).
-
Mas acho que você matou quando disse 4. O primeiro erro pode ser que a URL de acessa o método está escrito errado.
Pela homologação da ____:
https://testenfe.prefeitura.sp.gov.br/ws/lotenfe.asmx
Mas pela produção funciona, nem precisa colocar o true da minha primeira mensagem.
https://nfe.prefeitura.sp.gov.br/ws/lotenfe.asmx
Todos os meus problemas são devido ao site de testes que eles passaram.
Obrigado.
-
Alexandre,
De qualquer modo, de uma olhada nesse link: http://msdn.microsoft.com/en-us/library/aa395203(VS.90).aspx
Não é exatamente o que você precisa, mas dá uma explicação sobre as certificações.
Samuel Fabel- Sugerido como Resposta AndreAlvesLimaModerator quinta-feira, 24 de junho de 2010 23:28
- Marcado como Resposta AndreAlvesLimaModerator sexta-feira, 2 de julho de 2010 00:25
-
Olá Alexandre,
Vc conseguiu utilizar o ambiente de testes da prefeitura de sp?
https://testenfe.prefeitura.sp.gov.br/ws/lotenfe.asmx
Abcs,
Daniel Adorno
- Sugerido como Resposta mykola.szoma segunda-feira, 21 de fevereiro de 2011 14:53
-
Mas acho que você matou quando disse 4. O primeiro erro pode ser que a URL de acessa o método está escrito errado.
Pela homologação da ____:
https://testenfe.prefeitura.sp.gov.br/ws/lotenfe.asmx
Mas pela produção funciona, nem precisa colocar o true da minha primeira mensagem.
https://nfe.prefeitura.sp.gov.br/ws/lotenfe.asmx
Todos os meus problemas são devido ao site de testes que eles passaram.
Obrigado.
O amigo mandei um email para prefeitura de são paulo e eles me disseram:
Prezado(a) Sr(a).
Se você se refere a um ambiente de testes não há para a NF-e.
Consulte "Perguntas e Respostas" no endereço eletrônico www.prefeitura.sp.gov.br/nfe.
Consulte, também, o link "Manuais" no mesmo endereço.
Permanecemos à disposição para quaisquer esclarecimentos adicionais.
Atenciosamente,
Subsecretaria da Receita Municipal
Secretaria Municipal de Finanças
FNAchei estranho vc ter colocado que existe um ambiente de teste... tentei entrar mas o navegador diz que o site é inseguro, pois o emissor do certificado desse site não pode ser encontrado.
-
Pessoal, estou consumindo o web service via SoapUI de homologação e recebo a informação de certificado invalido
testenfe.prefeitura.sp.gov.br/ws/lotenfe.asmx
Mas pela produção funciona.
nfe.prefeitura.sp.gov.br/ws/lotenfe.asmx
Todos os meus problemas são devido ao site de testes que eles passaram.
Alguem conseguiu utilizar esse ambiente de testes da nfe paulistana?
Obrigado.
-
Boa Tarde Pessoal,
Aguem pode me auxiliar?
Preciso buscar todas as notas de uma empresa específica através da url abaixo:
nfe.prefeitura.sp.gov.br/ws/lotenfe.asmx
Já tentei de todas as formas e não consigo....
Agradeço a todos pela ajuda.
Att
-
Boa tarde,
Dá uma olhada na documentação da prefeitura. Tem uma operação chamada ConsultaNFeEmitidas que lista de modo paginado as notas emitidas. Tem um XSD para validar de o XML da request é válido.
Neste post tem um exemplo de como autenticar no serviço caso tenha necessidade:
Atenciosamente,
Samuel Fabel
- Editado Samuel Fabel terça-feira, 29 de novembro de 2016 17:11
-
Obrigado pelo retorno Samuel,
Estou a dias tentando efetuar esta integração pode me auxiliar?
Estou efetuando esta chamada no c#.
nfe_sp1.LoteNFe lote = new nfe_sp1.LoteNFe();
XmlDocument doc = new XmlDocument();
doc.Load(@"Envio.xml");
string xml = doc.OuterXml;
X509Certificate2 cert = new X509Certificate2(@"meucerfificado", "senha");
lote.ClientCertificates.Add(cert);
return lote.ConsultaNFe(1, xml);
Este é meu XML
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ConsultaNFeRequest xmlns="http://www.prefeitura.sp.gov.br/nfe">
<VersaoSchema>1</VersaoSchema>
<MensagemXML>
<Cabecalho>
<CPFCNPJRemetente>CNPJ</CPFCNPJRemetente>
<Versao>1</Versao>
</Cabecalho>
</MensagemXML>
</ConsultaNFeRequest>
</soap:Body>
</soap:Envelope>
Estou tomando erro "Value cannot be null"
Obrigado mesmo pelo auxílio.
Att
Ivan Battistin -
Mas não dá para listar notas por esta operação. Na documentação fala em dois campos do Detalhe chamados ChaveRPS e ChaveNFe e isto faz com que retorne 0 ou 1 nota. As operações que listam são ConsultaNFeRecebidas e ConsultaNFeEmitidas. Eles só pedem Cabecalho e tem campos como dtInicio, dtFim e NumeroPagina. Inclusive na documentação tem o seguinte texto:
O sistema de informação de um Contribuinte envia uma mensagem XML de Pedido Consulta de NF-e recebidas para o período de 01/09/2006 a 30/09/2006 e requerendo a página 1. Para este pedido são encontradas 137 NF-e recebidas. As 137 NF-e são agrupadas em três páginas: Página 1 com as primeiras 50 NF-e (1ª à 50ª); página 2 com as próximas 50 NF-e (51ª à 100ª) e página 3 com as 37 NFe restantes (101ª à 137ª). O Web Service retorna uma mensagem XML com a página requerida (página 1).
Ao receber a mensagem XML de retorno o sistema de informação do Contribuinte verifica que foram retornadas 50 NF-e para a página 1. O sistema de informação do Contribuinte envia outra mensagem XML de Pedido Consulta de NF-e Recebidas para o mesmo período, mas desta vez requerendo a próxima página (página 2). O Web Service retorna uma mensagem XML com a página requerida (página 2). Ao receber a mensagem XML de retorno o sistema de informação do Contribuinte verifica que foram retornadas 50 NF-e para a página 2. O sistema de informação do Contribuinte envia outra mensagem XML de Pedido Consulta de NF-e Recebidas para o mesmo período, mas desta vez requerendo a próxima página (página 3). O Web Service retorna uma mensagem XML com a página requerida (página 3). Ao receber a mensagem XML de retorno o sistema de informação do Contribuinte verifica que foram retornadas 37 NF-e para a página 3 e portanto não existem mais NF-e recebidas para o período consultado.
Obs.: As NF-e encontradas são ordenadas por data de emissão da nota (ou data do cancelamento, caso a NF-e tenha sido cancelada) e pela inscrição municipal (CCM) do prestador que emitiu a nota.
Samuel Fabel
-
-
Tem certeza que os parâmetros estão corretos? Na documentação tem um campo chamado Signature que tem em todas as mensagens e no exemplo que você passou não tem no xml. Normalmente este erro vem junto com ArgumentNullException nos métodos chamados no .net.
Samuel Fabel
-