Ir para conteúdo
  • Cadastre-se

dev botao

Versão da NFS-e para o padrão Abrasf


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

Recommended Posts

Bom dia pessoal,

Estou com alguns problemas e dúvidas com relação ao padrão Abrasf de NFS-e.

No site da http://www.abrasf.org.br está dizendo que a versão vigente é a versão 2.0, sendo assim teremos algumas alterações no manual de integração, onde foram inseridas tags diferentes da versão 1.0.

Sendo assim quando vai-se validar o xml gerado pelo ACBr está dando erro de compatibilidade com o esquema xsd.

Alguém já passou por esse mesmo problema e poderia me ajudar.

Link para o comentário
Compartilhar em outros sites

Pessoal,

está acontecendo o seguinte erro:

servico_enviar_lote_rps_envio.xsd#/schema

The 'http://www.abrasf.org.br/ABRASF/arquivos/nfse.xsd' namespace provided differs from the schema's 'http://www.abrasf.org.br/nfse' targetNamespace
esse erro acontece na seguinte linha de comando:
Schema.add( {ANameSpace} 'http://www.abrasf.org.br/ABRASF/arquivos/nfse.xsd', schema_filename );

Alguém pode ajudar????

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde,

Em qual fonte esta esta linha?


Schema.add( {ANameSpace} 'http://www.abrasf.org.br/ABRASF/arquivos/nfse.xsd', schema_filename );

Pois o que esta disponivel no branches, essa linha encontra-se no fonte ACBrNFSeUtil e esta da seguinte forma:

Schema.add( {ANameSpace} 'http://www.abrasf.org.br/nfse.xsd', schema_filename );

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,

Essa parte do fonte é a mesma que você citou porém tinha alterado para fazer um teste, mas não funcionou tb... ai descobri que o problema estava nos arquivos .xsd que estava usando.

porém agora acontece um erro relacionado a tsIdTag conforme abaixo:

tipos_complexos.xsd#/schema/complexType[29][@name = 'tcLoteRps3']/attribute[1][@name = 'Id']

Type '{http://www.abrasf.org.br/nfse}tsIdTag' is either not declared or not a simpleType

o xml que estou usando está da seguinte forma:

  <?xml version="1.0" encoding="utf-8" ?> 

- 

- 
1200
06071725000157
5000087
1

- 

- 

- 

- 
1

.

.

.

saberia me informar se esse atributo ID do lote, tem alguma forma especial de tratamento?

Vlw...

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde,

Veja este exemplo de lote, que esta passando pelo validador.

Notei que na tag LoteRps esta faltando o atributo versao.

Compare com o que esta em anexo.

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

fala Italo, blz?

Cara peguei o xml que você me mandou ai e retirei apenas as tag´s referente ao lote e as assinaturas.

Fiz um novo teste com esse arquivo editado e ocorreu o seguinte erro:

Falha na validação do Lote 1

The node is neither valid nor invalid because no DTD/Schema declaration was found.

Saberia me dizer o que pode ser?

Vlw pelo apoio brother

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde,

Lembre-se que o Schema para o Abrasf não possui validação para o XML do RPS.

Para validar o XML tem que ficar conforme exemplo postado.

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,

Mas não estou fazendo validação do xml para o RPS, o que acontece é que vou gerar um arquivo do sistema no qual trabalho na plataforma COBOL, e vou usar o ACBr para a comunicação com os webservices.

Adicionei um comando para salvar o xml que está sendo validado, estou anexando ele mas pelas observações está identico ao que você postou, o arquivo é o teste.xml.

O procedimento que estou realizando é o seguinte:

- gero o arquivo xml do meu programa;

- criei uma thread que verifica a existência de arquivos -nfse.xml na pasta especificada no configurador;

- quando essa thread encontra o arquivo de envio ela faz a seguinte chamada

    // limpando o componente

    ACBrNFSe1.NotasFiscais.Clear;

    // carregando dados da NFS-e gerada

    ACBrNFSe1.NotasFiscais.LoadFromFile(stFilePath);

    // salvando o arquivo

    ACBrNFSe1.NotasFiscais.Items[0].SaveToFile;


    // se conseguiu enviar o lote

    if ACBrNFSe1.Enviar(StrToInt(stNumLote)) then

    begin

      // retornando que conseguiu enviar

      Result := True;

    end;

- o restante é o trabalho do componente.

Estou anexando o arquivo que estou usando para testes na geração do meu programa.

Se puder dar um help ai cara ficarei mto grato...

abraço...

teste.xml

NFSe.xml

Link para o comentário
Compartilhar em outros sites

  • Consultores

Esta disponivel uma alteração do componente, faça o favor de baixar esta atualização e testar novamente.

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,

Estou tentando fazer o envio dos arquivos aqui e estou tendo o seguinte problema

'a:ActionNotSupportedThe message with Action '' 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).'

você saberia me dizer o que seria isso?

Vlw...

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia,

Vamos fazer o seguinte teste:

No fonte ACBrNFSeWebServices vamos alterar as linhas: 956 e 957 da function TNFSeEnviarLoteRPS.Executar

Em vez de:


             '' + FCabMsg + '' +

             '' + FDadosMsg + '' +

mude para:

             '' + StringReplace(StringReplace(FCabMsg, '<', '<', [rfReplaceAll]), '>', '>', [rfReplaceAll]) + '' +

             '' + StringReplace(StringReplace(FDadosMsg, '<', '<', [rfReplaceAll]), '>', '>', [rfReplaceAll]) + '' +

Realize o teste de envio novamente.

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

E ae cara, blz?

Realizei a substituição das linhas conforme solicitado e o erro ainda acontece cara...

pelo que pude entender do erro, é algo relacionado com a SoapAction, no código tem uma linha que define ela como:

ReqResp.SoapAction := '';

não seria a falta de definição desse campo não?

Vlw...

Link para o comentário
Compartilhar em outros sites

  • Consultores

Pode ser,

No padrão Ginfes só funcionou colocando uma string vazia, agora no Abrasf, precisamos pesquisar.

Se você tiver condições de entrar em contato com o pessoal, questione eles sobre isso.

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

é isso mesmo Italo,

no padrão abrasf se faz necessário informar a SOAPAction, segue as mesmas para cada ação:

RecepcionarLoteRps: soapAction="http://tempuri.org/INfseServices/RecepcionarLoteRps"

ConsultarSituacaoLoteRps: soapAction="http://tempuri.org/INfseServices/ConsultarSituacaoLoteRps"

ConsultarNfsePorRps: soapAction="http://tempuri.org/INfseServices/ConsultarNfsePorRps'>http://tempuri.org/INfseServices/ConsultarNfsePorRps"

ConsultarNfse: soapAction="http://tempuri.org/INfseServices/ConsultarNfse"

ConsultarLoteRps: soapAction="http://tempuri.org/INfseServices/ConsultarLoteRps"

CancelarNfse: soapAction="http://tempuri.org/INfseServices/CancelarNfse"

Dpois que configurei o SOAPAction, está dando um erro de timeOut da seguinte forma cara...

The operation timed out - URL:https://www1.webiss.com.br/formigamg_wsnfse_homolog/NfseServices.svc - SOAPAction:http://tempuri.org/INfseServices/RecepcionarLoteRps

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde

Me diz uma coisa:

Você manteve a alteração proposta por mim, no fonte ACBrNFSeWebServices, linhas: 956 e 957 da function TNFSeEnviarLoteRPS.Executar

e acrescentou o endereço no SOAPAction?

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

  • Consultores

Mandei para SVN, uma alteração no fonte ACBrNFSeWebServices, favor baixar e testar novamente.

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 brother,

Pude notar que no padrão ABRASF não se faz necessário a informação da versão na tag LoteRPS Id, com a versão informada o xml não está passando pela validação.

Ex:

FDadosMsg := '<' + Prefixo3 + 'LoteRps Id="' + IntToStr(TNFSeEnviarLoteRps(Self).NumeroLote)  + '">' +
com relação as correções que você fez nessa última vez, o campo SOAPAction está com "...", com essas "..." o serviço não é reconhecido
if FConfiguracoes.WebServices.PadraoLayout = plABRASF

    then ReqResp.SoapAction := '"http://tempuri.org/INfseServices/RecepcionarLoteRps"'

    else ReqResp.SoapAction := '';
com as alterações feitas agora acontece o seguinte erro:
's:ClientNo characters can appear before the XML declaration. Line 1, position 193.No characters can appear before the XML declaration. Line 1, position 193.'

pelo que pude entender as declarações de xml que foram inseridas causaram esse erro, porém realizei testes sem as declarações e aconteceu o erro anterior.

Saberia me dizer algum solução?

vlw

Link para o comentário
Compartilhar em outros sites

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