Ir para conteúdo
  • Cadastre-se

dev botao

Falha Na Validação Do Lote 201 Validate Failed Because The Document Does Not Contain Exactly One Root Node.


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

Recommended Posts

Bom dia!

Estou tentando gerar um LoteRps para cidade de Mossoró/RN, porem ao executar esta função:

 if FProvedorClass.GetValidarLote
  then begin
   if not(NotaUtil.Valida(FDadosMsg, FMsg,
                          FConfiguracoes.Geral.PathSchemas,
                          FConfiguracoes.WebServices.URL,
                          FConfiguracoes.WebServices.ServicoEnviar,
                          FConfiguracoes.WebServices.Prefixo4))
    then raise Exception.Create('Falha na validação do Lote ' +
                   TNFSeGerarLoteRps(Self).NumeroLote + sLineBreak + FMsg);
  end;

estou recebendo a mensagem de erro:

 

 

Falha na validação do Lote 201
Validate failed because the document does not contain exactly one root node.

 

Mossoró ainda não possui webservices.

 

Conforme Italo Jurisato Junior falou, para as cidades que não possui Webservices deve ser feito o seguinte procedimento:

 

 

O componente possui dois provedores cuja finalidade é gerar o XML.

 

Provedor ABRASF V1 e V2 um para cada versão do XML.

 

Abra a unit pnfsConversao e procure pela function CodCidadeToProvedor, logo no inicio temos os provedores ABRASFv1 e ABRASFv2, veja como foi incluído a cidade de Jaboatão dos Guararapes/PE.

 

Algo semelhante você vai ter que fazer para Mossoró, a unica coisa que precisa saber é se é versão 1 ou 2.

 

Então eu abri a unity e o mesmo processo que foi feito com a cidade de Jabotão, eu fiz com a de Mossoró.

function CodCidadeToProvedor(const ACodigo: Integer): string;
var
 Provedor: String;
begin
 Provedor := 'Nenhum';
 case ACodigo of

        // Devemos informar aqui a lista de cidades que utilizam a versão 1
        // do layout da ABRASF mas ainda não possui um Web Service, ou seja,
        // devemos apenas gerar o XML do RPS para ser lido pelo site da prefeitura

  2607901,//Jaboatão dos Guararapes/PE
  2408003 //Mossoro/RN
         : Provedor := 'ABRASFv1';

E na unit ACBrProvedorABRASFv1: eu fiz uma pequena alteração:

function TProvedorABRASFv1.GetConfigSchema(ACodCidade: Integer): TConfigSchema;
var
  ConfigSchema: TConfigSchema;
begin
    if (ACodCidade = 2408003) then
    begin
        ConfigSchema.VersaoCabecalho       := '1.00';
        ConfigSchema.VersaoDados           := '1.00';
        ConfigSchema.VersaoXML             := '1';
        ConfigSchema.NameSpaceXML          := 'http://www.tinus.com.br';
        ConfigSchema.Cabecalho             := 'nfsetinus.xsd';
        ConfigSchema.ServicoEnviar         := 'nfsetinus.xsd';
        ConfigSchema.ServicoConSit         := 'nfsetinus.xsd';
        ConfigSchema.ServicoConLot         := 'nfsetinus.xsd';
        ConfigSchema.ServicoConRps         := 'nfsetinus.xsd';
        ConfigSchema.ServicoConNfse        := 'nfsetinus.xsd';
        ConfigSchema.ServicoCancelar       := 'nfsetinus.xsd';
        ConfigSchema.ServicoGerar          := 'nfsetinus.xsd';
        ConfigSchema.ServicoEnviarSincrono := 'nfsetinus.xsd';
        ConfigSchema.ServicoSubstituir     := 'nfsetinus.xsd';
        ConfigSchema.DefTipos              := '';
    end
    else
    begin
        ConfigSchema.VersaoCabecalho       := '1.00';
        ConfigSchema.VersaoDados           := '1.00';
        ConfigSchema.VersaoXML             := '1';
        ConfigSchema.NameSpaceXML          := 'http://www.abrasf.org.br/ABRASF/arquivos/';
        ConfigSchema.Cabecalho             := 'nfse.xsd';
        ConfigSchema.ServicoEnviar         := 'nfse.xsd';
        ConfigSchema.ServicoConSit         := 'nfse.xsd';
        ConfigSchema.ServicoConLot         := 'nfse.xsd';
        ConfigSchema.ServicoConRps         := 'nfse.xsd';
        ConfigSchema.ServicoConNfse        := 'nfse.xsd';
        ConfigSchema.ServicoCancelar       := 'nfse.xsd';
        ConfigSchema.ServicoGerar          := 'nfse.xsd';
        ConfigSchema.ServicoEnviarSincrono := 'nfse.xsd';
        ConfigSchema.ServicoSubstituir     := 'nfse.xsd';
        ConfigSchema.DefTipos              := '';
    end;

  Result := ConfigSchema;
end;

Existe mais alguma unit que precisa ser modificada para que eu possa gerar o LoteRPS xml versão 1?

Segue por anexo um LoteRps da Cidade de Mossoró e o schemas utilizado.

 


 

 



 

 

post-3538-0-29693200-1421675799_thumb.pn

nfsetinus.rar

xmlEXEMPLO_RPSEF-comassinatura-1.rar

João Leno

Developer In Lunar Tecnologia
Formação: Bacharel em Sistemas de Informação
Pós Graduação: Infraestrutura e aplicações em redes de computadores (Cursando)
Cell: (84) 8135-9585
Skype: joaolenosi
Site: http://lunartecnologia.com.br/

Se não puder vencer pelo o talento, vença pelo o esforço.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde João,

 

Você configurou o componente para que o mesmo utilize a pasta onde contem o schema da Tinus?

 

Talvez seja interessante você implementar o provedor Tinus em vez de usar os provedores genéricos ABRASFv1 e ABRASFv2.

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

Link para o comentário
Compartilhar em outros sites

Boa tarde, Italo!

Configurei sim, criei uma pasta(Mossoro) com os seguintes componentes:

 

 

 

nfsetinus.xsd

xmldsig-core-schema20020212.xsd

 

 

E adicionei Mossoró ao Combobox da aplicação e setei o schemas para essa pasta.

João Leno

Developer In Lunar Tecnologia
Formação: Bacharel em Sistemas de Informação
Pós Graduação: Infraestrutura e aplicações em redes de computadores (Cursando)
Cell: (84) 8135-9585
Skype: joaolenosi
Site: http://lunartecnologia.com.br/

Se não puder vencer pelo o talento, vença pelo o esforço.

Link para o comentário
Compartilhar em outros sites

Aqui está o ambiente de teste:

 

João Leno

Developer In Lunar Tecnologia
Formação: Bacharel em Sistemas de Informação
Pós Graduação: Infraestrutura e aplicações em redes de computadores (Cursando)
Cell: (84) 8135-9585
Skype: joaolenosi
Site: http://lunartecnologia.com.br/

Se não puder vencer pelo o talento, vença pelo o esforço.

Link para o comentário
Compartilhar em outros sites

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