ACBRNFeMonitor por TCP/IP
Boa tarde, alguém teria algum exemplo de utilização do acbrnfemonitor com o php por tcp/ip
Eu sei que é possível por TXT, mas eu quero por TCP/IP.
Tentei o código abaixo, porém não executa o comando no acbr, retorna apenas que está aguardando um comando.
Eu sei que é possível por TXT, mas eu quero por TCP/IP.
Tentei o código abaixo, porém não executa o comando no acbr, retorna apenas que está aguardando um comando.
<?php $host = "127.0.0.1"; $port = 3436;//25003; $lineBreak = "\r\n";//chr(13).chr(10); $fimComand = '.' . $lineBreak; $message = 'NFE.STATUSSERVICO' . $lineBreak; echo "Message To server :".$message . '<br>'; // create socket $socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create socket\n"); // connect to server $result = socket_connect($socket, $host, $port) or die("Could not connect to server\n"); // send string to server socket_write($socket, $message, strlen($message)) or die("Could not send data to server\n"); socket_write($socket, $fimComand, strlen($message)) or die("Could not send data to server\n"); // get server response $result = socket_read ($socket, 1024) or die("Could not read server response\n"); echo "Reply From Server :".$result . '<br>'; // close socket socket_close($socket); ?>
David Sylvestre
Curtidas 0
Melhor post
Eduardo Martins
22/07/2014
Caro David.
Achei um exemplo, Testei e Funcionou beleza... é do próprio pessoal do ACBr. Abrass.
16181-socket-acbrmonitor-php
Achei um exemplo, Testei e Funcionou beleza... é do próprio pessoal do ACBr. Abrass.
16181-socket-acbrmonitor-php
GOSTEI 1
Mais Respostas
David Sylvestre
03/04/2014
up!!
GOSTEI 0
Eduardo Martins
03/04/2014
Boa Tarde David A. Sylvestre, conseguiu solucionar este seu problema? Estou com o mesmo problema.... Abrass.
GOSTEI 0
David Sylvestre
03/04/2014
Boa Tarde David A. Sylvestre, conseguiu solucionar este seu problema? Estou com o mesmo problema.... Abrass.
Tive que dar uma parada no meu projeto, mas consegui realizar a comunicação utilizando o exemplo do B2Stok[1], eles utilizam o acbrmonitor na área de pdv deles.
Da para usar e ter um norte do procedimento a tomar.
[1]http://sourceforge.net/p/b2stok/code/HEAD/tree/b2stok/
GOSTEI 0
David Sylvestre
03/04/2014
Maravilha :D
GOSTEI 0
Eduardo Martins
03/04/2014
Caro David.
Acabei realizando a implementação de algumas classes para o projeto ACBrMonitor, que possa auxiliar ainda mais o pessoal na hora do desenvolvimento da NFe. Basicamente o que eu fiz foi realizar alguns tratamentos de envio e retorno intermediário com a classe que o pessoal da ACBr disponibilizou para comunicação socket. Exemplo: Na hora do envio da NFe não é necessário passar muitas informações, geralmente só a chave. E na hora do retorno a resposta geralmente é um array ou string com o erro. Ficando mais fácil de tratar no php. O projeto encontra-se no github (veja abaixo), qualquer ajuda sua será bem vinda. Eu testei o projeto nas 2 versões da NFe, 2.00 e 3.10 e funcionou que uma beleza.
https://github.com/emalherbi/ACBrNFeMonitor
Abrass...
Acabei realizando a implementação de algumas classes para o projeto ACBrMonitor, que possa auxiliar ainda mais o pessoal na hora do desenvolvimento da NFe. Basicamente o que eu fiz foi realizar alguns tratamentos de envio e retorno intermediário com a classe que o pessoal da ACBr disponibilizou para comunicação socket. Exemplo: Na hora do envio da NFe não é necessário passar muitas informações, geralmente só a chave. E na hora do retorno a resposta geralmente é um array ou string com o erro. Ficando mais fácil de tratar no php. O projeto encontra-se no github (veja abaixo), qualquer ajuda sua será bem vinda. Eu testei o projeto nas 2 versões da NFe, 2.00 e 3.10 e funcionou que uma beleza.
https://github.com/emalherbi/ACBrNFeMonitor
Abrass...
GOSTEI 0
David Sylvestre
03/04/2014
Parabéns Eduardo, isso facilita de mais a vida dos desenvolvedores :D
Fico muito grato pela contribuição.
Fico muito grato pela contribuição.
Caro David.
Acabei realizando a implementação de algumas classes para o projeto ACBrMonitor, que possa auxiliar ainda mais o pessoal na hora do desenvolvimento da NFe. Basicamente o que eu fiz foi realizar alguns tratamentos de envio e retorno intermediário com a classe que o pessoal da ACBr disponibilizou para comunicação socket. Exemplo: Na hora do envio da NFe não é necessário passar muitas informações, geralmente só a chave. E na hora do retorno a resposta geralmente é um array ou string com o erro. Ficando mais fácil de tratar no php. O projeto encontra-se no github (veja abaixo), qualquer ajuda sua será bem vinda. Eu testei o projeto nas 2 versões da NFe, 2.00 e 3.10 e funcionou que uma beleza.
https://github.com/emalherbi/ACBrNFeMonitor
Abrass...
Acabei realizando a implementação de algumas classes para o projeto ACBrMonitor, que possa auxiliar ainda mais o pessoal na hora do desenvolvimento da NFe. Basicamente o que eu fiz foi realizar alguns tratamentos de envio e retorno intermediário com a classe que o pessoal da ACBr disponibilizou para comunicação socket. Exemplo: Na hora do envio da NFe não é necessário passar muitas informações, geralmente só a chave. E na hora do retorno a resposta geralmente é um array ou string com o erro. Ficando mais fácil de tratar no php. O projeto encontra-se no github (veja abaixo), qualquer ajuda sua será bem vinda. Eu testei o projeto nas 2 versões da NFe, 2.00 e 3.10 e funcionou que uma beleza.
https://github.com/emalherbi/ACBrNFeMonitor
Abrass...
GOSTEI 0
Eduardo Martins
03/04/2014
O Projeto foi alterado para https://github.com/bigodes/ACBrNFeMonitor
GOSTEI 0
Erik
03/04/2014
O Projeto foi alterado para https://github.com/bigodes/ACBrNFeMonitor
Olá Eduardo, baixei do link e instalei o ACBRNFeMonitor num servidor PHP externo, fiz a função de criar a NFe, está tudo correto, pois fico monitorando via serviço ACBR rodando no windows, o script cria e envia para o monitor porem não consigo pegar os retornos OK: e ERRO sempre aparece na tela escrito Array ( ) 1, poderia me ajudar.
Obrigado.
GOSTEI 0
Eduardo Martins
03/04/2014
Erik.
Beleza?
Vamos por partes. Pelo monitor funciona perfeitamente o projeto. isso?
No seu php.ini esta habilitado para trabalhar com socket?
Beleza?
Vamos por partes. Pelo monitor funciona perfeitamente o projeto. isso?
No seu php.ini esta habilitado para trabalhar com socket?
GOSTEI 0
Erik
03/04/2014
Bom dia Eduardo,
Tudo tranquilo e com você ?
Isso mesmo, A conexão do socket tá funcionando perfeitamente, o AcbrNFE monitor recebe os comandos enviados pelo php e processa normalmente.
O que não consigo é receber as mensagem de retorno do ACBRNfe no php.
Obrigado
Tudo tranquilo e com você ?
Isso mesmo, A conexão do socket tá funcionando perfeitamente, o AcbrNFE monitor recebe os comandos enviados pelo php e processa normalmente.
O que não consigo é receber as mensagem de retorno do ACBRNfe no php.
Obrigado
GOSTEI 0
Eduardo Martins
03/04/2014
Erik.
O projeto eu não uso mais pois acabei migrando para nfephp. Porem ele sempre funcionou corretamente. Acredito que seja alguma configuração sua ai. Ou algo que não esta habilitado no php. Vou verificar e te retorno.
O projeto eu não uso mais pois acabei migrando para nfephp. Porem ele sempre funcionou corretamente. Acredito que seja alguma configuração sua ai. Ou algo que não esta habilitado no php. Vou verificar e te retorno.
GOSTEI 0
Erik
03/04/2014
Eduardo, pensei em mudar para o nfephp porem o maior problema é que só aceita certificado A1, não tem suporte para o A3 cartão e leitora, ou você conseguiu fazer com o A3 no nfephp ?
GOSTEI 0
Eduardo Martins
03/04/2014
Eu fiz com A3 outro projeto.
Usei 2 tecnologias.
-> ACBr.
-> ActiveX.
Ai comunicação era front-end (javascript) + dlls do ACBr. E so rodava no IE devido ao ActiveX. Ai sim funcionava o A3.
Mas assim vc tem q entender q vai ficar preso no IE (O que eu acho uma droga. kkkk).
Usei 2 tecnologias.
-> ACBr.
-> ActiveX.
Ai comunicação era front-end (javascript) + dlls do ACBr. E so rodava no IE devido ao ActiveX. Ai sim funcionava o A3.
Mas assim vc tem q entender q vai ficar preso no IE (O que eu acho uma droga. kkkk).
GOSTEI 0
Erik
03/04/2014
Poderia me mostrar o que fez no seu projeto, mesmo que fique preso no IE, estou precisando finalizar o módulo do sistema NF-e.
Achei bem simples o nfephp porem não fiquei entusiasmado por aceitar somente o certificado A1.
Achei bem simples o nfephp porem não fiquei entusiasmado por aceitar somente o certificado A1.
GOSTEI 0
Eduardo Martins
03/04/2014
Sim.
Posso te dar uma ajuda.
No HTML:
Classid vem do seu projeto delphi.
No JS:
Chama a função da dll:
Posso te dar uma ajuda.
No HTML:
Classid vem do seu projeto delphi.
<object id="inicializa" codeBase="CTE.dll" classid="CLSID:211B55FF-111D-419A-8E0B-7CD0F870F9F4" viewastext="" style="display:none;" ></object>
No JS:
Chama a função da dll:
inicializa.Execute(param1, param2, ...)
GOSTEI 0
Erik
03/04/2014
Esqueci de mencionar meu projeto Nf-e é desenvolvido todo em PHP.
GOSTEI 0
Eduardo Martins
03/04/2014
Tudo bem. Mas para fazer essa comunicação vc vai ter q usar em delphi ou em C dlls. Fazendo um intermediario entre o javascript e as dlls do ACBr. Entende?
GOSTEI 0
Erik
03/04/2014
Eduardo, segue a foto, no que aparece no meu sistema e o que está no quadro de respostas do acbrNFeMonitor.
Quero pegar essas informações para depois tratar as mensagens
[img:descricao=imagem do problema]http://162.243.89.11/nf/img.jpg[/img]
Quero pegar essas informações para depois tratar as mensagens
[img:descricao=imagem do problema]http://162.243.89.11/nf/img.jpg[/img]
GOSTEI 0
Eduardo Martins
03/04/2014
Cara.
Não tem como ver a img.
Não tem como ver a img.
GOSTEI 0
Erik
03/04/2014
Olá Eduardo, desculpe mas não consegui postar antes ontem o dia foi ajitado.
Segue novamente a imagem
[img:descricao=Erro]http://162.243.89.11/nf/img.jpg[/img]
Segue novamente a imagem
[img:descricao=Erro]http://162.243.89.11/nf/img.jpg[/img]
GOSTEI 0