Ir para conteúdo
Fórum Script Brasil
  • 0

NF eletronica 2.00


Leonardo Pizeli

Pergunta

Boa tarde, pessoal,

Estou tentando consumir o Status do Serviço da nota fiscal eletronica 2.00 do estado de minas gerais utilizando HTTPRIO e CAPICOM, porém, ao solicitar o serviço uma mensagem é retornada dizendo:

erro não catalogado, não foi possível obter a versão.

Alguém poderia me ajudar?

Segue o código:

//Certificado

procedure TForm1.HTTPRIO1HTTPWebNode1BeforePost(const HTTPReqResp: THTTPReqResp;

Data: Pointer);

var

Store : IStore;

Certs : ICertificates;

Cert : ICertificate2;

CertContext : ICertContext;

PCertContext : PCCERT_CONTEXT;

SerialNumber : String;

i : Integer;

begin

SerialNumber := '123456789'; //Número do serial a ser buscado do certificado

Store := CoStore.Create;

//Repositórios de Certifcados da Máquina

Store.Open(CAPICOM_CURRENT_USER_STORE, 'MY', CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED );

//Abre a lista de certificados

Certs := Store.Certificates ;

//Aloca todos os certificados instalados na máquia

i := 0;

//loop de procura ao certificado requerido pelo número serial

while i < Certs.Count do

begin

Cert := IInterface( Certs.Item[ i+1 ] ) as ICertificate2;

//Cria objeto para acesso a leitura do certificado

if UpperCase(Cert.SerialNumber ) = UpperCase(SerialNumber) then

//se o número do serial for igual ao que queremos utilizar

begin

//carrega informações do certificado

CertContext := Cert as ICertContext;

CertContext.Get_CertContext( Integer( PCertContext ) );

if not (InternetSetOption( Data, 84,

PCertContext, Sizeof( CERT_CONTEXT ) )) then

begin

ShowMessage( 'Falha ao selecionar o certificado.' );

end;

i := Certs.Count;

//encerra o loop

end;

i := i + 1;

end;

end;

//enviar mensagem

procedure TForm1.Button1Click(Sender: TObject);

var

IStatusServico : NfeStatusServico;

mensagem, dados: String;

begin

//cabeçalho da mensage(nfeCabMsg), mensagem(nfeDadosMsg)

IStatusServico := (HTTPRIO1 as NfeStatusServico);

mensagem:='<xml><soap12><soap12><nfeCabecMsg><cUF> 31</cUF><versaoDados>2.00</versaoDados></nfeCabecMsg></soap12>';

dados:='<soap12><nfeStatusServicoNF2> <nfeDadosMsg><consStatServ><tpAmb>2</tpAmb><cUF>31</cUF><xServ>STATUS</xServ></consStatServ></nfeDadosMsg></nfeStatusServicoNF2></soap12></soap12>';

ShowMessage(IStatusServico.nfeStatusServicoNF(mens agem,dados));

end;

//outra tentativa de envio e o mesmo erro

rocedure TForm1.Button1Click(Sender: TObject);

var

IStatusServico : NfeStatusServico;

mensagem, dados: String;

begin

//cabeçalho da mensage(nfeCabMsg), mensagem(nfeDadosMsg)

IStatusServico := (HTTPRIO1 as NfeStatusServico);

mensagem:='<?xml version="1.0" encoding="utf-8"?>'+

'<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"'+

'xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">'+

'<soap12:Header>'+

'<nfeCabecMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico2" versao="2.00">'+

'<versaoDados>2.00</versaoDados>'+

'<cUF>31</cUF>'+

'</nfeCabecMsg>'+

'</soap12:Header>';

dados:='<soap12:Body>'+

'<nfeDadosMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico2">'+

'<consStatServ xmlns="http://www.portalfiscal.inf.br/nfe" versao="2.00">'+

'<tpAmb>2</tpAmb>'+

'<cUF>31</cUF>'+

'<xServ>STATUS</xServ>'+

'</consStatServ>'+

'</nfeDadosMsg>'+

'</soap12:Body>'+

'</soap12:Envelope>';

ShowMessage(IStatusServico.nfeStatusServicoNF(mens agem,dados));

end;

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...