Ir para conteúdo
  • Cadastre-se

dev botao

Provedor DSF. Problema ao assinar o RPS


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

Recommended Posts

Bom dia pessoal,

estou tentando implementar NFSe para Campinas, provedor issDSF. Já olhei muitos tópicos sobre este provedor, mas são antigos e também sem muitos dos problemas citados resolvidos.

Já utilizo o Componente para envio para a prefeitura de São Paulo e agora estou implementando para Campinas.

Estou tendo problemas para assinar o RPS, mais precisamente nesta linha:

function TDFeSSLXmlSignMsXmlCapicom.Assinar(const ConteudoXML, docElement,
  infElement: String; SignatureNode: String; SelectionNamespaces: String;
  IdSignature: String; IdAttr: String): String;

...

// Inserindo Template da Assinatura digital //
    if (not XmlEstaAssinado(AXml)) or (SignatureNode <> CSIGNATURE_NODE) then
      AXml := AdicionarSignatureElement(AXml, False, docElement, IdSignature, IdAttr);

Ao executar a linha:

AXml := AdicionarSignatureElement(AXml, False, docElement, IdSignature, IdAttr);

as tags de assinatura no XML são adicionados, porém estão todas vazias. Imagino porque os parâmetros "IdSignature" e "IdAttr" estão vazios.

 

<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
  <SignedInfo>
    <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
    <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
    <Reference URI="#rps:28435">
      <Transforms>
        <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
        <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
      </Transforms>
      <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
      <DigestValue></DigestValue>
    </Reference>
  </SignedInfo>
  <SignatureValue>
  </SignatureValue>
  <KeyInfo></KeyInfo>
</Signature>
</Rps>

 

Já estou com certificado carregado. O está faltando para eu setar?

Alguém que hoje utilizar o ACBrNFSe com provedor DSF poderia me dar uma ajuda? Pois na verdade não sei se precisa assinar ou não o RPS. Tentei enviar sem assinar, mas aí me deparo com outro erro. Acredito que grande parte do segredo está no arquivo issDSF.ini. Alguém que está utilizando o provedor DSF poderia disponibilizar para  o grupo ACBr o arquivo, pois o que está no repositório do ACBr está cru, precisando setar uma série de informações, e imagino que este arquivo uma vez configurado, atende todas as prefeituras que o provedor DSF atende correto?

Um grande abraço

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde JJA,

Esse arquivo se encontra dentro da pasta: ...\Exemplos\ACBrDFe\ACBrNFSe\ArqINI

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Bom dia Italo,

eu já estou usando o arquivo  issDSF.ini que vem no pacote ACBr, sem ele a rotina nem funcionaria, porém entendo que este arquivo está apenas com as configurações padrões para uso dos componentes ACBr, sendo necessário setar alguns parâmetros para que o XML seja gerado corretamente para cada provedor.

Não sei se o meu problema está ligado diretamente ao arquivo issDSF.ini, mas fato é que ao adicionar a assinatura no XML do RPS, este arquivo é XML inválido. A estrutura do XML ficou comprometida, inválida, faltando alguma tag ou outro valor que não faz ser reconhecido a lido por um leitor de XML.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia JJA,

Até onde sei, o provedor IssDSF exige que somente o lote de RPS seja assinado e não o RPS.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Boa tarde Italo, 

desculpe se minha pergunta for idiota, mas lote RPS não é nada mais que vários RPS juntos? E também mesmo que seja enviado um RPS por vez, ele não precisa obrigatóriamente estar vinculado a um lote? Ou seja:

LOTE 1 = (RPS 1, RPS2, RPS3)
LOTE 2 = (RPS4)

Não seria esta a lógica?

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde JJA,

Sim é exatamente isso.

Mas tem provedor que requer que seja assinado cada RPS e mais o Lote, outros requer que seja assinado somente os RPS o Lote não, outros requer que seja assinado somente o Lote, outros não precisa assinar nada.

No caso do provedor IssDSF devemos assinar somente o Lote.

Abra o arquivo INI do provedor e veja:

[Assinar]
RPS=0
Lote=1

No seu exemplo tanto o Lote 1 quanto o 2 só vão conter uma assinatura.

O provedor GovDigital por exemplo requer que seja assinado os RPS e o Lote, veja:

[Assinar]
RPS=1
Lote=1

No seu exemplo o Lote 1 vai conter 4 assinaturas e o Lote 2 vai conter 2 assinaturas.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
Em 21/03/2018 at 16:21, Italo Jurisato Junior disse:

Boa tarde JJA,

Sim é exatamente isso.

Mas tem provedor que requer que seja assinado cada RPS e mais o Lote, outros requer que seja assinado somente os RPS o Lote não, outros requer que seja assinado somente o Lote, outros não precisa assinar nada.

No caso do provedor IssDSF devemos assinar somente o Lote.

Abra o arquivo INI do provedor e veja:

[Assinar]
RPS=0
Lote=1

No seu exemplo tanto o Lote 1 quanto o 2 só vão conter uma assinatura.

O provedor GovDigital por exemplo requer que seja assinado os RPS e o Lote, veja:

[Assinar]
RPS=1
Lote=1

No seu exemplo o Lote 1 vai conter 4 assinaturas e o Lote 2 vai conter 2 assinaturas.

Bom dia Italo,

obrigado pela ajuda. Configurei conforme sugerido e agora foi, porém agora estou com outro problema:

Estou gerando o Lote e estou enviando, porém não estou conseguindo coletar o retorno, não sei se o Lote foi enviado. Se não foi, qual o motivo. Olhei o demo do ACBr e o mesmo espera o valor de "ACBrNFSe.NotasFiscais.Items[0].NFSe.CodigoVerificacao", porém pra mim este valor após o envio está vazio.

Olho outro valor "ACBrNFSe.NotasFiscais.Items[0].NFSe.Protocolo". Ele me retorna uma valor que pra mim é desconhecido. (Ex: 222616950)

É gerado um arquivo 222616950-rec.xml, dentro dele contém:

	<Cabecalho>			<CodCidade>6291</CodCidade>				<Sucesso>true</Sucesso>				<NumeroLote>222616950</NumeroLote>				<CPFCNPJRemetente>XXXXXXXXX</CPFCNPJRemetente>				<DataEnvioLote>2018-04-03T09:37:43.0Z</DataEnvioLote>				<QtdNotasProcessadas>0</QtdNotasProcessadas>				<TempoProcessamento>0</TempoProcessamento>				<ValorTotalServicos>0</ValorTotalServicos>				<ValorTotalDeducoes>0</ValorTotalDeducoes>				<Versao>1</Versao>				<Assincrono>S</Assincrono>		</Cabecalho>

 
Note que o número de protocolo que recebi está  na tag NumeroLote. Não entendi, sendo que o numero de lote que acabei de enviar foi outro.
Link para o comentário
Compartilhar em outros sites

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

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.

The popup will be closed in 10 segundos...