É possível realizar a validação de um XML utilizando as mesmas regras disponíveis em nosso validador online, através das classes TspdNFe, e TspdValidadorClientX, esta é uma documentação complementar do método AuditarXML. (Disponível somente para NFe).
TspdNFe
- Não é necessário realizar nenhuma configuração adicional.
- Só é possível realizar validações remotas (Online).
- Implementação com um único método.
TspdValidadorClientX
- É necessário configurar o objeto Validador Client.
- É possível realizar validação local e remota.
- Ao optar pela validação local é necessário realizar ao menos uma vez o download das regras de validação.
Implementação com validação remota (TspdNFe)
Delphi
procedure TfrmAuditorNFe.Button1Click(Sender: TObject);
var
Validador : TspdValidadorClientX;
begin
spdNFe.LoadConfig();
Validador := TspdValidadorClientX.Create(nil);
spdNFe.ComponenteAuditor := Validador;
MRet.Text := spdNFe.AuditarXml(mmXML.Text,'|','http://validadornfe.tecnospeed.com.br/validadorgui/validar:8181/validadorgui/validar',True,False);
end;
VB6
Private Sub Command1_Click()
spdNFe.LoadConfig (App.Path + "\NFeConfig.ini")
Validador.DiretorioTemplates = App.Path + "\Templates\Auditor\"
Validador.DiretorioEsquemas = App.Path + "\Esquemas\Auditor\"
mmRetorno.Text = spdNFe.AuditarXml(mmXML.Text, "|", "http://validadornfe.tecnospeed.com.br:8181/validadorgui/validar", True, False)
End Sub
Implementação com validação remota (TspdValidadorClientX)
Delphi
procedure TfrmAuditar.Button2Click(Sender: TObject);
var
Validador : TspdValidadorClientX;
begin
Validador := TspdValidadorClientX.Create(nil);
Validador.Servidor := 'http://validadornfe.tecnospeed.com.br:8181/validadorgui/validar';
Validador.ExibirRegrasValidacao := True;
Validador.CodigoProduto := 1;
Validador.Estagio := esProducao;
Validador.TipoResposta := trJSON;
Validador.ModoOperacao := moCliente;
Validador.DiretorioTemplates := ExtractFilePath(ParamStr(0)) + 'Templates\auditor\';
Validador.DiretorioEsquemas := ExtractFilePath(ParamStr(0)) + 'Esquemas\auditor\';
Validador.DiretorioRegras := ExtractFilePath(ParamStr(0))+ 'Templates\auditor\Regras\';
MRet.Text := Validador.ValidarXml(mmXML.Text,'|');
end;
VB6
Private Sub Command3_Click()
Validador.Login = "admin"
Validador.Senha = "admin"
Validador.ExibirRegrasValidacao = True
Validador.Servidor = "http://validadornfe.tecnospeed.com.br:8181/validadorgui/validar"
Validador.DiretorioTemplates = App.Path + "\Templates\Auditor"
Validador.CodigoProduto = 1
Validador.Estagio = 1
Validador.TipoResposta = trJSON
mmRetorno2.Text = Validador.ValidarXml(mmXML2.Text, "|")
End Sub
C#
private void button1_Click(object sender, EventArgs e)
{
try
{
spdValidadorClientX validador = new spdValidadorClientX();
validador.Servidor ='http://validadornfe.tecnospeed.com.br:8181/validadorgui/validar';
validador.ModoOperacao = TModoOperacao.moCliente;
validador.ExibirRegrasValidacao = true;
validador.CodigoProduto = 1;
validador.Estagio = TEstagio.esProducao;
validador.TipoResposta = TResposta.trJSON;
validador.DiretorioRegras = $@"C:\Program Files\TecnoSpeed\NFe\arquivos\Templates\auditor\Regras\";
validador.DiretorioTemplates = $@"C:\Program Files\TecnoSpeed\NFe\arquivos\Templates\";
validador.DiretorioEsquemas = $@"C:\Program Files\TecnoSpeed\NFe\arquivos\Esquemas";
mmXml.Text = validador.ValidarXml(mmXml.Text, "|");
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
Implementação com validação local ou OFFLINE
Delphi
procedure TfrmAuditar.Button1Click(Sender: TObject);
var
Validador : TspdValidadorClientX;
begin
Validador := TspdValidadorClientX.Create(nil);
Validador.ModoOperacao := moLocal;
Validador.ExibirRegrasValidacao := True;
Validador.CodigoProduto := 1;
Validador.Estagio := esProducao;
Validador.TipoResposta := trJSON;
Validador.AtualizarRegrasAutomaticamente := False;
Validador.DiretorioRegras := ExtractFilePath(ParamStr(0)) + 'Templates\Auditor\Regras\';
Validador.DiretorioTemplates := ExtractFilePath(ParamStr(0)) + 'Templates\Auditor\';
Validador.DiretorioEsquemas := ExtractFilePath(ParamStr(0)) + 'Esquemas\Auditor\';
MRet.Text := Validador.ValidarXml(mmXML.Text,'|');
end;
VB6
Private Sub Command1_Click()
Validador.ModoOperacao = moLocal
Validador.ExibirRegrasValidacao = True
Validador.CodigoProduto = 1
Validador.Estagio = esProducao
Validador.TipoResposta = trJSON
Validador.DiretorioRegras = App.Path + "\templates\Auditor\Regras\"
Validador.DiretorioTemplates = App.Path + "\templates\Auditor\"
Validador.DiretorioEsquemas = App.Path + "\esquemas\Auditor\"
mmRetorno2.Text = Validador.ValidarXml(mmXML2.Text, "|")
End Sub
C#
private void button1_Click(object sender, EventArgs e)
{
try
{
spdValidadorClientX validador = new spdValidadorClientX();
validador.ModoOperacao = TModoOperacao.moLocal;
validador.ExibirRegrasValidacao = true;
validador.CodigoProduto = 1;
validador.Estagio = TEstagio.esProducao;
validador.TipoResposta = TResposta.trJSON;
validador.DiretorioRegras = $@"C:\Program Files\TecnoSpeed\NFe\arquivos\Templates\auditor\Regras\";
validador.DiretorioTemplates = $@"C:\Program Files\TecnoSpeed\NFe\arquivos\Templates\";
validador.DiretorioEsquemas = $@"C:\Program Files\TecnoSpeed\NFe\arquivos\Esquemas";
mmXml.Text = validador.ValidarXml(mmXml.Text, "|");
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
Implementação de download de regras
Delphi
procedure TfrmAuditar.Button3Click(Sender: TObject);
var
Validador : TspdValidadorClientX;
begin
Validador := TspdValidadorClientX.Create(nil);
Validador.Login := 'edoc';
Validador.Senha := '123mudar';
Validador.Servidor := 'http://validadornfe.tecnospeed.com.br:8181/validadorgui/validar';
Validador.DiretorioRegras := ExtractFilePath(ParamStr(0)) + 'Templates\Auditor\Regras\';
Validador.DiretorioTemplates := ExtractFilePath(ParamStr(0)) + 'Templates\Auditor\';
Validador.DiretorioEsquemas := ExtractFilePath(ParamStr(0)) + 'Esquemas\Auditor\';;
Validador.DownloadRegras;
ShowMessage('Download Concluido!');
end;
VB6
Private Sub Command2_Click()
Validador.Login = "edoc"
Validador.Senha = "123mudar"
Validador.Estagio = esProducao
Validador.Servidor = "http://validadornfe.tecnospeed.com.br:8181/validadorgui/validar"
Validador.DiretorioTemplates = App.Path + "\Templates\Auditor\"
Validador.DiretorioEsquemas = App.Path + "\Esquemas\Auditor\"
Validador.DiretorioRegras = App.Path + "\Templates\Auditor\Regras\"
Validador.DownloadRegras
MsgBox ("Download Concluido!")
End Sub
C#
private void btnRegras_Click(object sender, EventArgs e)
{
try
{
spdValidadorClientX validador = new spdValidadorClientX(); ;
validador.Login = "edoc";
validador.Senha = "123mudar";
validador.Servidor = "http://validadornfe.tecnospeed.com.br:8181/validadorgui/validar";
validador.DiretorioRegras = $@"C:\Program Files\TecnoSpeed\NFe\arquivos\Templates\auditor\Regras\";
validador.DiretorioTemplates = $@"C:\Program Files\TecnoSpeed\NFe\arquivos\Templates\";
validador.DiretorioEsquemas = $@"C:\Program Files\TecnoSpeed\NFe\arquivos\Esquemas";
validador.DownloadRegras();
MessageBox.Show("Download Concluido!");
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
Observações
- Quando utilizar validação local (OFFLINE) pela primeira vez, é necessário realizar o download das regras com a máquina conectada (ONLINE).
- Quando utilizar validação local (OFFLINE), a propriedade Validador.AtualizarRegrasAutomaticamente deve ser configurada para FALSE.
- É importante implementar uma rotina para download de regras, pois realizamos atualizações constantes em nosso validador.
Download de demonstrações
Em Delphi. Clique aqui para realizar o download.
Comentários
0 comentário
Por favor, entre para comentar.