Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

Postado

Boa tarde.

 

Não utilizo o ACBr para a NFS-e, mas no caso em nosso sistema não estamos fazendo a validação do arquivo xml quando provedor for DBSeller.

 

Ou seja, enviamos o arquivo para o servidor da prefeitura sem fazer a validação.

 

(Claro que estamos fazendo isso pelo fato do arquivo schema disponibilizado não estar certo).

 

abraço.

 

 

  • Consultores
Postado

Boa tarde a todos,

 

Todas as Units referentes aos provedores possuem uma function chamada GetValidarLote, que no caso do DBSeller temos:

 

function TProvedorDBSeller.GetValidarLote: Boolean;
begin
 Result := True;
end;
 
Se alterarmos o valor de retorno de True para False o componente para esse provedor em questão não vai realizar a validação antes do envio.
 
É isso que vocês desejam?
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

  • Membros Pro
Postado

Boa tarde!

 

Só para tirar a dúvida, essa seria a solução ideal para o problema?

Claro, sei que o melhor seria que o xsd estivesse correto, por isso vou retornar novamente o arquivo como inválido, mas existe alguma solução para ir contornando esse problema?

 

Obrigado!

  • Membros Pro
Postado

Bom dia Italo,

 

Estamos implementando em nosso sistema a rotina de envio do RPS para Carazinho usando o ACBR e estamos com um pequeno problema.

 

Parece que não esta encontrando essa Procedure 'RecepcionarLoteRpsRequest' 
 
Gostaria de ver se tu já passou por isso antes ou alguma ideia do que eu posso fazer para resolver.
 
 

Segue anexo os xmls gerados.

 

 

Obrigado por enquanto.

Diogo

 

 

1-env-lot.xml

1-rec.xml

  • Consultores
Postado

Boa tarde Diogo,

 

Eu não utilizo o componente ACBrNFSe, apenas ajudo no seu desenvolvimento.

 

Por favor entre em contato com o provedor e solicite um arquivo de envio completo, não apenas a estrutura do XML do RPS ou Lote de RPS.

 

É preciso saber a estrutura do Envelope.

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

  • Membros Pro
Postado

Bom tarde Italo, entendi e obrigado pela ajuda.

 

Ontem eu liguei para o Jason da DBSeller, ele me comentou que tem mais pessoas cobrando dele, para fazer funcionar o envio usando o ACBR, achei muito legal isso, demonstra o quanto o ACBR é importante e está sendo usado por muitas pessoas... parabéns pelo trabalho de vocês...

 

Voltando ao problema... o Jason falou que está vendo para deixar para resovler o problema...

 

Eu solicitei para ele o XML d estrutura do envelope como você pediu, ele me enviou vários XML, estou colocando como anexo arquivo, e também um link que imagino que mostra toda a estrutura: http://nfse.carazinho.rs.gov.br/webservice/wsdlValidations/modelo1.wsdl

XMLs DBSeller.rar

  • Consultores
Postado

Boa tarde Diogo,

 

Infelizmente não é isso que preciso.

 

O que foi enviado é a estrutura de um lote de RPS, essa estrutura é fácil de ser corrigida media a aplicação do XML ao Schema.

 

E se o provedor segue o layout da ABRASF não tem muito onde errar.

 

O XML chamado EnviarLoteRpsEnvio nada mais é do que o conteúdo da área de dados do envelope, necessito da estrutura do envelope.

 

Um envelope normalmente possui duas áreas: cabeçalho e corpo, sendo que a primeira pode não existir dependendo do provedor e o corpo é o que chamo de área de dados.

 

Sem a estrutura do envelope vamos ficar batendo cabeça.

Do link que você postou da até para extrair essa estrutura, mas se eles fornecessem um XML completo com o envelope aceito pelo provedor deles, ficaria muito mais simples a implementação.

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

  • Membros Pro
Postado

Boa tarde Italo,

 

Atualizei o ACBR e fiz os testes, mas está dando um probleminha,

 

Está retornando o erro: "Certificado informado esta vencido"

 

Mas o certificado está válido, tenho certeza, vence final deste mês apenas.

 

Segue anexo o xml enviado e o de retorno.

 

Entrei em contato com o pessoal da DBSeller e segundo eles é problema na estrutura do nosso XML.

 

Já tinha visto este erro de certificado vencido antes? mesmo quando ele tá válido?

 

Obrigado por enquanto

 

Diogo

XMLs Carazinho.rar

  • Consultores
Postado

Boa tarde Diogo,

 

Pergunta para o pessoal do provedor se o Web Services deles é possível ser consumido utilizando um certificado vencido?

 

Até onde sei, não é possível consumir um Web Services com certificado vencido.

 

Se a resposta for não, ou seja, não é possível consumir, então como o lote foi enviado e o Web Service foi consumido a ponto de processar a mensagem e retornar a rejeição?

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

  • Membros Pro
Postado

Bom dia Italo,

 

Falei com o pessoal da DBSeller, eles não estão conseguindo resolver o problema, até fizeram umas alterações lá e pediram para mim enviar novo teste, mas retorna o mesmo erro, aí eles estão dizendo que está dando este erro pois tem algum problema com a assinatura do xml enviado, e por isso o webservice está criticando ela.

 

E segundo eles esse xml que estou enviando está violado e por isso ele não consegue reproduzir o problema lá. Mas é o xml que o acbr gera, eu não editei nenhum deles... teoricamente não estão violados. 
 
Estou te enviando o último XML que mandei para eles para vc dar uma olhada, e o xml de retorno, peguei eles na pasta Ger que o acbr cria.
 
Só para comentar, o certificado digital q estou usando com certeza é válido, vence dia 21/10/2014
 
Mais alguma ideia de como podemos resolver esse caso? :(
 
Será que é problema com o webservice deles lá mesmo? pq se tu tiver certeza, eu meto uma pressão neles lá, pois eu já tenho 4 clientes esperando ansiosos pela solução... hehehe
 
Mto obrigado por enquanto
 
Diogo

XML Carazinho.rar

  • Consultores
Postado

Bom dia Diogo,

 

Acredito que o problema seja o ID, segundo os Schemas deles o atributo ID é escrito todo em minusculo, ou seja "id", o problema é que o Capicom não consegue realizar a assinatura desse jeito.

 

A "solução" encontrada foi informar o ID como sendo "Id" (a letra i em maiúsculo) para o Capicom assinar o XML e depois trocar o "i" maiúsculo por minusculo.

 

definição do atributo no schema:

 

    <xsd:attribute name="id" type="tsIdTag" />
 
Outro problema que já foi discutido é que o schema deles gera um erro no nosso validador, seria interessante eles passarem a utilizar um Schema cujo atributo ID seja definido com a letra "i" em maiúsculo e que não gere erro no nosso validador.
 
O erro ocorre quando ele encontra a propriedade use na declaração de um tipo simples.
 
Fiz mais algumas alterações, por favor atualize os fontes e tente novamente.
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

  • Membros Pro
Postado
Bom dia Italo, nos últimos dias venho conversando com o pessoal da DBSeller para tentar resolver essa questão, e parece que eles acharam o problema, pois ele disse que ajustou manual e fez a importação manual e aí funcionou.
 
Segundo ele o problema é no campo <InfRps Id="7002"> do xml, a letra i do Id tem de ser minuscula, teria que ficar assim: <InfRps id="7002">
 
Porém, eu fiz essa alteração direto no acbr para fazer um teste, mas dai acontece outro problema, não chega nem a enviar a nota, dá um erro na assinatura digital.
 
Tem alguma ideia de como resolver isso?
 
Obrigado por enquanto
 
Diogo
Postado

Bom dia Diogo,

 

Fiz mais alguns ajustes referentes ao ID.

 

Por favor atualize os fontes e teste novamente.

 

Bom dia Italo.

Atualizei pelo SVN e na unit pnfsNFSeW na linha 828:

  if AProvedor in [proAraucaria, proDBSeller, proPublica] then
    FIdentificador := 'id';
Erro: Variável AProvedor no Lugar FProvedor.
 
Tércio Lins. 
  • Membros Pro
Postado

Boa tarde Italo, atualizei os fontes e testei, gerou a tag com o "i" minusculo e assinado, como o previsto, porém, o webservice rejeitou dando este erro:

 

 
<ii:MensagemErro>integridade do arquivo foi violada</ii:MensagemErro>
 
 
Então eu vou tentar falar com o pessoal da DBSeller, como vc sugeriu, para eles alterarem lá para aceitar o "i" maiusculo, para que agente não precise fazer essa alteração no xml, para não "violá-lo"
 
Obrigado por enquanto
 
Diogo
  • Membros Pro
Postado

Boa tarde Italo,

 

Falei com o pessoal da DBSeller, então eles vão ajustar o webservice deles para aceitar Id como os outros provedores aceitam, mas eles me pediram para enviar um xml com a a tag Id com o "i" maiúsculo ali e assinado, sem a edição do xml para não violá-lo.

 

Você pode fazer essa alteração no fonte e liberar, dai eu atualizo aqui e envio um teste para eles?

 

Obrigado por enquanto, estamos quase resolvendo a questão, falta pouco agora.. :)

 

Diogo

  • Membros Pro
Postado

Boa tarde Italo, atualizei os fontes e fiz um teste, mas retornou o seguinte erro do webservice:

 

<ii:Codigo>E160</ii:Codigo>
<ii:Mensagem>Arquivo enviado fora da estrutura do arquivo XML de entrada. (Linha 1: Element 'LoteRps', attribute 'Id': The attribute 'Id' is not allowed. ,Linha 1: Element 'InfRps', attribute 'Id': The attribute 'Id' is not allowed. )</ii:Mensagem>
<ii:Correcao>Envie um arquivo dentro do schema do arquivo XML de entrada.</ii:Correcao>
 
Falando com o pessoal da DBSeller, eles me falaram que o problema é o Id, que precisa o i ser minusculo, porém com o i minusculo o acbr não consegue assinar o xml, isso né?

 

Porém, se fizermos aquele lance (volta) de assinar e depois mudar para i minusculo, retorna aquele outro erro dizendo que o arquivo foi violado.

 

O problema é que estou tentando convencer eles a arrumar isso, falei que os outros provedores aceitam com o I maiúsculo e tal, mas ele me respondeu que o correto seria enviar o XML na estrutura que disponibilizamos... =(

 

Daí te pergunto, existe alguma forma de resolver essa questão? ou o jeito é eles tirarem o case sensitive ?

 

Obrigado por enquanto.

  • Consultores
Postado

Bom dia Diogo,

 

Uma coisa é certa, o XML a ser enviado tem que estar em conformidade com o schema disponibilizado por eles.

 

Mas será que eles não perceberam que estão remando contra a maré?

 

O XML da NF-e, NFC-e, CT-e e MDF-e que são documentos fiscais a nível nacional o ID é: "Id", ou seja, a letra "I" em maiúsculo.

E a grande maioria dos provedores de NFS-e utilizam o ID: "Id".

 

Será que fazer essa troca no Schema e no Web Services deles é tão complicado a ponto de não querem fazer?

Ou querem ser os diferentes?

Ou será que não sabem fazer essa alteração, uma vez que não foram eles que desenvolveram os Web Services?

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

  • Este tópico foi criado há 1281 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.