Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 2261 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Consultores
Postado

Boa tarde Eduardo,

 

Alem de ser necessário o certificado digital para que o RPS e ou Lote sejam assinados, há necessidade de se realizar um cadastro no provedor, caso contrario o lote é rejeitado.

 

Alguns provedores retornam uma mensagem amigável e clara sobre o problema, por outro lado outros não.

  • Curtir 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado

Boa Italo, acho que realmente não foi feito nenhum cadastro do certificado no provedor

 

O cliente ja utiliza o envio direto pelo site.

 

Um duvida, no compomente o endereço do webservice esta diferente do disponibilizado pela prefeitura 

 

Produção: HTTPS://nfse.salvador.ba.gov.br/RPS

 

Homologação: HTTPS://notahml.salvador.ba.gov.br/RPS

 

Como podemos atualizar o componente

 

Vou tentar finalizar esse procedimento no dia 29/12 segunda, e dou retorno dos resultados

 

Muito obrigado

Eduardo

e-mail: [email protected]

Postado (editado)

Ola Italo,

 

Então, pelo que consegui verificar hoje a url dos WS mudou para a prefeitura de salvador

 

Os enderecos que passei detalham os métodos dos WS

 

Segue abaixo o trecho de codigo que alterei no componente referente a URL de Salvador, ambiente de homologação e produção

 

Estou executanto os testes agora, no ambiente de homologação ocorre erro no servidor de revogação da prefeitura. Vamos começar a validar em produção. 

function TProvedorSalvador.GetConfigURL(ACodCidade: Integer): TConfigURL;
var
  ConfigURL: TConfigURL;
begin
  ConfigURL.HomNomeCidade         := '';
  ConfigURL.HomRecepcaoLoteRPS    := 'https://notahml.salvador.ba.gov.br/rps/CONSULTASITUACAOLOTERPS/ConsultaSituacaoLoteRPS.svc';
  ConfigURL.HomConsultaLoteRPS    := 'https://notahml.salvador.ba.gov.br/rps/CONSULTALOTERPS/ConsultaLoteRPS.svc';
  ConfigURL.HomConsultaNFSeRPS    := 'https://notahml.salvador.ba.gov.br/rps/CONSULTANFSERPS/ConsultaNfseRPS.svc';
  ConfigURL.HomConsultaSitLoteRPS := 'https://notahml.salvador.ba.gov.br/rps/CONSULTASITUACAOLOTERPS/ConsultaSituacaoLoteRPS.svc';
  ConfigURL.HomConsultaNFSe       := 'https://notahml.salvador.ba.gov.br/rps/CONSULTANFSE/ConsultaNfse.svc';
  ConfigURL.HomCancelaNFSe        := '';
  ConfigURL.HomGerarNFSe          := '';
  ConfigURL.HomRecepcaoSincrono   := '';
  ConfigURL.HomSubstituiNFSe      := '';

  ConfigURL.ProNomeCidade         := '';
  ConfigURL.ProRecepcaoLoteRPS    := 'https://nfse.salvador.ba.gov.br/rps/ENVIOLOTERPS/EnvioLoteRPS.svc';
  ConfigURL.ProConsultaLoteRPS    := 'https://nfse.salvador.ba.gov.br/rps/CONSULTALOTERPS/ConsultaLoteRPS.svc';
  ConfigURL.ProConsultaNFSeRPS    := 'https://nfse.salvador.ba.gov.br/rps/CONSULTANFSERPS/ConsultaNfseRPS.svc';
  ConfigURL.ProConsultaSitLoteRPS := 'https://nfse.salvador.ba.gov.br/rps/CONSULTASITUACAOLOTERPS/ConsultaSituacaoLoteRPS.svc';
  ConfigURL.ProConsultaNFSe       := 'https://nfse.salvador.ba.gov.br/rps/CONSULTANFSE/ConsultaNfse.svc';
  ConfigURL.ProCancelaNFSe        := '';
  ConfigURL.ProGerarNFSe          := '';
  ConfigURL.ProRecepcaoSincrono   := '';
  ConfigURL.ProSubstituiNFSe      := '';

  Result := ConfigURL;
end; 
Editado por eduardoalineri

Eduardo

e-mail: [email protected]

Postado

Pessoal,

 

boa tarde

 

Agora estou com o mesmo erro que o Odlawso Nascimento, quando alterei para as urls do ultimo post

<s:Envelope xmlns:s="http://schemas.xmlso...oap/envelope/">
<s:Body>
<s:Fault>
<faultcode xmlns:a="http://schemas.micro...ted</faultcode>
<faultstring xml:lang="pt-BR">The message with Action 'http://www.abrasf.org.br/ABRASF/arquivos/nfse.xsd/WSNacional/RecepcionarLoteRps' cannot be processed at the receiver, due to a ContractFilter mismatch at the EndpointDispatcher. This may be because of either a contract mismatch (mismatched Actions between sender and receiver) or a binding/security mismatch between the sender and the receiver.  Check that sender and receiver have the same contract and the same binding (including security requirements, e.g. Message, Transport, None).</faultstring>
</s:Fault>
</s:Body>
</s:Envelope>

Alguem não consegue um exemplo com a prefeitura ?

Eduardo

e-mail: [email protected]

Postado

Ola Italo, 

 

Desculpe, ao copiar a URL acabei informado errado.

Os endereços são esses mesmos

 

Se possuir alguma certificado valido, não precisa ser para emissão de salvador, ira conseguir acessar os endereços abaixo

 

Produção: HTTPS://nfse.salvador.ba.gov.br/RPS

 

Homologação: HTTPS://notahml.salvador.ba.gov.br/RPS

 

OBS: Não sei porque, mas somente consegui visualizar no Internet Explorer, no Chrome e em outros não consegui, o que me levou de inicio a acreditar que a URL estava errada

 

Nesses endereços, são destacados todos os WS dessa prefeitura

 

Estou enviado em anexo o XSD do webservice EnvioLoteRPS

 

A url correta para o metodo de envio de lote rps e https://notahml.salvador.ba.gov.br/rps/ENVIOLOTERPS/EnvioLoteRPS.svcpara o ambiente de homologação https://nfse.salvador.ba.gov.br/rps/ENVIOLOTERPS/EnvioLoteRPS.svc para produção

 

 

 

EnvioLoteRPS.rar

Eduardo

e-mail: [email protected]

Postado

Estou enviando em anexo o arquivo referente ao provedor da prefeitura de Salvador.

Foram alterados o envelope, a referencia do NameSpace e a URL atualizada dos webservices.

 

Com essas alterações consigo estabelecer a comunicação, mas tenho o erro a "Assinatura do Hash nao confere". Acho que é por causa do Id, alguém tem alguma ideia ?

 

A assinatura fica realmente invalida, e foi verificada no site https://www.receita.fazenda.gov.br/Aplicacoes/SSL/ATBHE/Assinadoc/ValidadorAssinaturas.app/valida.aspx

 

Abraços

 

Eduardo

ACBrProvedorSalvador.rar

Eduardo

e-mail: [email protected]

  • Consultores
Postado

Boa tarde Eduardo,

 

Os schemas sofreram alteração?

 

Alguns provedores utilizam schemas cujo atributo de identificação ID é todo minusculo, ou seja, "id", até ai sem nenhum problema.

 

O problema é quando eles querem o XML assinado e o CAPICOM não consegue assinar o XML com o atributo todo em minusculo.

 

Neste caso o XML é inicialmente gerado com o atributo "Id", para ser assinado e depois ocorre a troca por "id".

 

Em alguns provedores o problema foi resolvido.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado

Boa italo

 

Esse é o problema

 

No schema esta todo minusculo ( o schema atualizado ), e devido a troca ocorre o erro de assinatura, pois a prefeitura esta validando a assinatura, ai da o erro de hash.

 

O que voce acha de fazermos uma dll em C# para ser importada ao projeto para resolvermos esses problemas de assinatura ?

Eduardo

e-mail: [email protected]

Postado (editado)

Certo, qual a sua sugestão ? Hoje com o componente não conseguimos enviar um lote RPS em que o provedor determine o identificar com o id minusculo e que faça a validação da assinatura.

Existe alguma restrição quanto ao uso do openssl?

Editado por eduardoalineri

Eduardo

e-mail: [email protected]

Postado

Pessoal

 

Boa tarde

 

A unica forma que consegui enviar um XML pelo Acbr para a prefeitura de Salvador, foi assinando o XML por uma DLL feita em C#. No caso a DLL disponibilizada pela própria prefeitura de Salvador. Essa dll também faz o envio, mas devido a questões técnicas do meu projeto não será possível utilizar a dll para realizar o envio, somente para  a assinatura, e deu certo.

 

O problema de assinar pelo componente esta diretamente ligado ao atributo id em minusculo, onde o componente hoje realiza a assinatura com Id ( I maiúsculo ) e depois troca o I para minusculo. Se o provedor não validar a assinatura, e sim somente o schema, não dará erros. Agora, se validar a assinatura, como ocorre agora com a prefeitura de salvador, o arquivo será rejeitado por diferença no Hash.

 

Pelo que pesquisei em outros posts esse é um problema antigo e conhecido aqui no grupo.

 

Vocês acham que vale a pena estudar assinatura direto pela API do Windows, pelo método CryptSignMessage ? Ou buscar uma outra forma de flexibilizar o uso do OpenSSL ?

Eduardo

e-mail: [email protected]

  • 3 semanas depois ...
  • 7 meses depois ...
Postado

Alguém tem um XML de envio de lote com envelope para disponibilizar de Salvador?

 

Agradeço.

Boa tarde pessoal,

Também estou procurando esse XML, com o envelope SOAP.

Os XMLs da prefeitura contem somente a estrutura dos XSDs.

Também fico no aguardo. E agradeço desde já.

Abs

  • 3 semanas depois ...
  • 3 semanas depois ...
Postado

Quem é responsável pelo capicom?

Não é possível criar uma versão que assine considerando também o "id"?

Isso não resolveria o problema?

  • 7 meses depois ...
  • 7 meses depois ...
  • 5 semanas depois ...
Postado
Em 10/01/2017 at 18:44, Rodrigo M disse:

O "id" deve ser em letra minuscula mesmo. No meu caso inseri as TAGS  X509SubjectName  KeyValue na  KeyInfo da assinatura, também utilizei somente o  Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature. Após assinar o InfRps tive que extrair a String do Document para gerar um novo "Document2" para só assim assinar o LoteRps.

Você poderia disponibilizar o fonte de como você fez isso? Estou com problemas também para assinar

  • 3 meses depois ...
Postado
Em 2017-2-10 at 08:52, Wilkinson D. de Souza disse:

Você poderia disponibilizar o fonte de como você fez isso? Estou com problemas também para assinar

Os fontes infelizmente não posso passar, mas além do caminho que passei ali em cima eu me baseei bastante neste post: http://javahome.com.br/jc/posts/list/45/1287.page#top (não sei se pode fazer divulgação de outro fórum, se não poder me desculpe moderador e pode apagar esse post sem dó :D).

  • Moderadores
Postado
1 hora atrás, Rodrigo M disse:

Os fontes infelizmente não posso passar, mas além do caminho que passei ali em cima eu me baseei bastante neste post: http://javahome.com.br/jc/posts/list/45/1287.page#top (não sei se pode fazer divulgação de outro fórum, se não poder me desculpe moderador e pode apagar esse post sem dó :D).

boa tarde, não tem problemas não! fica tranquilo é colaborativo o fórum aqui do ACBr . diferente de outros

  • Curtir 1
Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

  • 4 meses depois ...
Postado
Em 31/10/2014 at 13:09, Italo Jurisato Junior disse:

Boa tarde Claudio,

 

Favor atualizar os fontes.

 

Com essa atualização a mensagem de erro será outra.

 

O provedor Salvador não dispõe dos Web Services: GerarNFSeEnvio e EnviarLoteRpsSincronoEnvio e estava faltando inclui o provedor para gerar a exceção quando tentar utilizar um desses Web Services.

 

Sendo assim utilize somente o botão [Gerar e Enviar Lote RPS] este se utiliza do Web Services: EnviarLoteRpsEnvio.

Caro Ítalo, Bom dia!
Já faz bastante tempo depois da minha ultima postagem sobre NFSe. Estou reativando o projeto e ao tentar usar a mensagem EnviarLoteEnvio para o web service provedor Salvador clicando no botão "Gerar e Enviar Lote RPS" notei que o XML gerado não contém a TAG EnviarLoteRpsEnvio e só consta uma assinatura quando deveria ter duas. Alguma ideia do que eu possa está fazendo de errado? Em anexo arquivos gerados e de retorno.
Desde já o meu muito obrigado.
Cláudio Neri

1-env-lot.xml

1-env-lot-soap.xml

1-rec.xml

1-rec-soap.xml

2917100245927100013556000000000000001-rps.xml

  • Este tópico foi criado há 2261 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.