Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Pessoal, bom dia!

Estou iniciando os estudos sobre NFS-e e vou começar com a cidade CUIABÁ/MT.

Atendo o segmento de transporte e utilizo os componentes ACBrCTe e ACBrMDFe a algum tempo.

Já li alguns posts iniciais do Ítalo.

Fiz pesquisas no fórum sobre algumas dúvidas.

Atualizei todos os fontes do projeto ontem pelo SVN.

Abri o exemplo do ACBrNFSe, fiz a configuração do emitente, direcionei a pasta de schemas, direcionei a pasta de arquivos INI, etc.

Quando tento enviar usando o botão "Gerar RPS": é mostrada a mensagem que o "Arquivo gerado em:" - apenas este texto.

Quando tento enviar usando o botão "Gerar e enviar Lote RPS": é mostrada a mensagem "Falha na validação dos dados do lote 1" Erro: Schema inválido.

Quando tento enviar usando o botão "Gerar e enviar um RPS": SoapAction não definido para: TNFSeGerarNFSe.

Existe alguma informação adicional que preciso configurar no DEMO para enviar o RPS?

Anexo XML do teste.

Desde já, grato a todos.

5118021476806900017456000000000000001-rps.xml

Postado (editado)

Juliomar, obrigado pelo retorno.

Antes de postar confirmei no arquivo "cidades.ini" que Cuiabá/MT é atendida pelo provedor ISSNET, então fui direto para o DEMO, fiz as configurações e tentei enviar.

Depois do seu retorno entrei em contato com o provedor e recebi os manuais de integração.

Acabei de ler o material na íntegra.

O provedor possui, entre outros serviços, a "geração de NFS-e (síncrono)" e a "recepção de lote e processamento de RPS (assíncrono)".

Entendi que são equivalentes aos métodos "ACBrNFSe1.Gerar(StrToInt(vNumRPS))" e "ACBrNFSe1.Enviar(vNumLote)".

Como tentei realizar o envio e deu erro em todas as opções, estou entendendo que existe algo que configurei errado ou deixei de configurar.

 

Editado por marcelo.hp
  • Curtir 1
  • Consultores
Postado

Bom dia Marcelo,

Até onde sei o provedor ISSNet segue a versão 1 do layout da ABRASF.

Nessa versão só existe uma unica opção de envio que é o envio assíncrono, que no componente se refere ao método Enviar.

Isso explica o erro de SoapAction não definido para TNFSeGerarNFSe ao tentar executar o método Gerar para poder enviar somente um RPS.

Você pode e deve usar o método Enviar para enviar um ou até 50 RPS se assim desejar.

Caso configure o componente para ConsultarLoteAposEnvio o mesmo se encarrega de tudo, ao executar o método Enviar.

O erro de falha de validação ao executar o método Enviar, com certeza o componente não esta configurado corretamente no que diz respeito ao PathSchemas.

Para o provedor ISSNet o PathSchemas tem que apontar para a pasta: ...\Exemplos\ACBrDFe\ACBrNFSe\Schemas\ISSNet

Por favor verifique a configuração 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

Postado

Boa tarde Italo!

Obrigado pelas orientações.

Revisei as configurações e vou utilizar apenas a opção "Gerar e Enviar Lote RPS" que no DEMO faz a chamada ao método Enviar.

Sobre o PathSchemas, se apontar para a pasta errada o DEMO não iria gerar erro informando que não localizou o arquivo ".xsd" correspondente? Neste caso, a mensagem gerada no DEMO informa que o schema é inválido. Devo estar errando em algum dado que é gerado no XML.

Nos dados do tomador alterei CNPJ e Inscrição Municipal para serem válidos.

Visualizando o XML do RPS não me parece faltar dados.

Estou enviando o XML gerado e print da tela, talvez ajude na análise.

 

img nfse.png

5118021476806900017456000000000000010-rps.xml

  • Consultores
Postado

Boa tarde Marcelo,

Depois que você selecionou a Cidade e a pasta referente aos Schemas, clicou no botão para Salvar a Configuração antes de clicar no botão para Gerar e Enviar um Lote de RPS?

Pois acabo de fazer um teste e esse erro não ocorreu.

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

  • 4 semanas depois ...
Postado

Senhores, bom dia!

Apenas para deixar registrado e encerrarmos este tópico.

Depois que fiz o cadastro no ISSNET o erro de "Schema inválido" persistiu até que um dos atendentes me esclareceu que eles cobram para utilizarmos o ambiente de homologação. As duas primeiras atendentes não haviam me passado esta informação.

A configuração do aplicativo de demonstração estava correta.

Meu sistema já está emitindo NFS-e normalmente nos ambientes de homologação e produção.

Italo, Juliomar, obrigado pela ajuda.

Abraço a todos.

 

  • Curtir 1
  • 3 semanas depois ...
Postado

Estou com esse erro também em Anapólis - Go depois que atualizei a minha versão, a versão antiga esta funcionando, a nova esta dando erro na unit:

ACBrDFeXsLibXml2

ArqSchema = servico_enviar_lote_rps_envio.xsd

function TDFeSSLXmlSignLibXml2.Validar(const ConteudoXML, ArqSchema: String; out MsgErro: String): boolean;

    schema := xmlSchemaParse(parser_ctxt);
    // the schema itself is not valid
    if (schema = nil) then
    begin
      MsgErro := ACBrStr('Erro: Schema inválido');
      Exit;
    end;

image.thumb.png.0d8d8707595ba6737c293adf563d155d.png

  • Curtir 1

Analysis and System Development - Delphi Programmer - Computer Technician - Developing solutions together

 

  • Moderadores
Postado
1 hora atrás, bilogyn disse:

Estou com esse erro também em Anapólis - Go depois que atualizei a minha versão, a versão antiga esta funcionando, a nova esta dando erro na unit:

Fazendo a validação do XML contra os XSD do ISSNet pelo Notepad++ acusa erro no schema:

Unable to parse schema file.
Parsing error at line 262:
Element '{http://www.w3.org/2001/XMLSchema}pattern': The value '^20(?:09|[1-9]\d)(?:0[1-9]|1[0-2])$' of the facet 'pattern' is not a valid regular expression.

Essa restrição consta no arquivo tipos_simples.xsd.

    <xsd:simpleType name="tsCompetencia">
        <xsd:restriction base="xsd:nonNegativeInteger">
            <xsd:pattern value="^20(?:09|[1-9]\d)(?:0[1-9]|1[0-2])$"></xsd:pattern>
        </xsd:restriction>
    </xsd:simpleType>

Não tenho familiaridade com expressões regulares pra dizer se ela está correta ou não, mas se você comentar essa linha, a validação passa:

    <xsd:simpleType name="tsCompetencia">
        <xsd:restriction base="xsd:nonNegativeInteger">
            <!-- xsd:pattern value="^20(?:09|[1-9]\d)(?:0[1-9]|1[0-2])$"></xsd:pattern -->
        </xsd:restriction>
    </xsd:simpleType>

Minha sugestão é que entre em contato com a prefeitura ou o provedor e peça schemas atualizados, se é que há.

PS: Definindo a configuração SSLXmlSignLib como xsMsXML a validação funciona sem alterações no XSD. Provavelmente essa é a razão de deixar de funcionar após atualização, recentemente houve a alteração do padrão dessa propriedade para xsLibXML2 quando SSLLib = libWinCrypt.

  • Curtir 1
Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Postado

É isso mesmo.

  ACBrNFSe.Configuracoes.Geral.SSLLib                         := libWinCrypt;
  ACBrNFSe.Configuracoes.Geral.SSLXmlSignLib          := xsMsXML ;

  • Curtir 1

Analysis and System Development - Delphi Programmer - Computer Technician - Developing solutions together

 

  • 2 meses depois ...
Postado

Boa tarde,

Passei pelo mesmo problema de Erro: Schema inválido no WebIss.

Meu sistema estava na rede, instalado no servidor.

 xsLibXML2 tem problema em localizar informações na rede, consegui enviar a nota mapeando a unidade de rede. F:

Esse problema também passei na NFe com xsLibXML2.

Dercide.

 

 

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