eSocial: Transmissão e Geração de XML sem assinatura

578 views
Skip to first unread message

Marcos Ferreira

unread,
Apr 29, 2019, 6:54:55 AM4/29/19
to NFePHP
Bom dia pessoal tudo bem?

 Uma dúvida sobre a geração de XML, é possível gerar sem assinatura? Uma outra dúvida a transmissão minha via cUrl está retornando tudo em branco, ela só funciona se eu setar o encriptPrivateKey para false, porém a resposta é toda em branco, até mesmo a URL

$soap = new SoapCurl($certificate);
$soap->setEncriptPrivateKey(false);

Basicamente usei o exemplo no repositório e usei o código de enviar porém troquei o fake pelo cUrl

Muito obrigado pela atenção!

Roberto Machado

unread,
Apr 29, 2019, 7:36:07 AM4/29/19
to nfe...@googlegroups.com

 Uma dúvida sobre a geração de XML, é possível gerar sem assinatura?
Sim é só não passar o certificado 

 
Uma outra dúvida a transmissão minha via cUrl está retornando tudo em branco, ela só funciona se eu setar o encriptPrivateKey para false, porém a resposta é toda em branco, até mesmo a URL

$soap = new SoapCurl($certificate);
$soap->setEncriptPrivateKey(false);

Quanto a encriptação da  chave privada isso pode ocorrer devido ao ambiente ou compilação do PHP (já vi problemas desse tipo com o CentOS).

Quanto ao retorno em branco , não tenho a minima ideia do que você pode estar fazendo ai !! 
Os exemplos usam as classes FAKE que como o nome sugere são "falsas" e não farão nada real, portanto para usar de verdade tem que remover TUDO que tem fake do código de exemplo.

Roberto

Marcos Ferreira

unread,
Apr 29, 2019, 12:34:16 PM4/29/19
to NFePHP
Cara muito obrigado o retorno, o XML sem assinatura deu certo, já envio não funcionou

Basicamente troquei estas linhas do teste:

use NFePHP\eSocial\Common\Soap\SoapFake;

para:

use NFePHP\eSocial\Common\Soap\SoapCurl;

----

$soap = new SoapFake();

para

$soap = new SoapCurl($certificate);

----

Removi esta linha:

$soap = new SoapFake();

Se não desabilitar a PrivateKey da erro dizendo que não encontrou o certificado, fiz de tudo pra que gerasse o .pem mexendo em permissões das pastas, criando as pastas manualmente, sem sucesso, então desabilitei, ai não da erro, mas na hora de printar o retorno ele esta vazio.

Roberto Machado

unread,
Apr 29, 2019, 4:01:48 PM4/29/19
to nfe...@googlegroups.com
Marcos para enviar de verdade:

<?php
error_reporting(E_ALL);
ini_set('display_errors', 'On');
require_once '../../../bootstrap.php';
use NFePHP\Common\Certificate;

use NFePHP\eSocial\Event;
use NFePHP\eSocial\Tools;
$config = [
'tpAmb' => 2,
//tipo de ambiente 1 - Produção; 2 - Produção restrita - dados reais;3 - Produção restrita - dados fictícios.
'verProc' => '2_5_0', //Versão do processo de emissão do evento.
//Informar a versão do aplicativo emissor do evento.
'eventoVersion' => '2.5.0', //versão do layout do evento
'serviceVersion' => '1.5.0', //versão do webservice
'empregador' => [
'tpInsc' => 1, //1-CNPJ, 2-CPF
'nrInsc' => '99999999', //numero do documento
'nmRazao' => 'Razao Social',
],
'transmissor' => [
'tpInsc' => 1, //1-CNPJ, 2-CPF
'nrInsc' => '99999999999999' //numero do documento
],
];
$configJson = json_encode($config, JSON_PRETTY_PRINT);
try {
//carrega a classe responsavel por lidar com os certificados
$content = file_get_contents('expired_certificate.pfx');
$password = 'associacao';
$certificate = Certificate::readPfx($content, $password);

//carrega os dados do envento
$std = new \stdClass();
$std->sequencial = 1;
$std->cpfTrab = '00232133417';
$std->dtNascto = '1931-02-12';
$std->dtAdm = '2017-02-12';
$evento = Event::evtAdmPrelim($configJson, $std);
//instancia a classe responsável pela comunicação
$tools = new Tools($configJson, $certificate);
//carrega a classe responsável pelo envio SOAP
//nesse caso um envio falso
$tools->loadSoapClass($soap);
//executa o envio
$response = $tools->enviarLoteEventos($tools::EVT_NAO_PERIODICOS, [$evento]);
header('Content-Type: application/xml; charset=utf-8'); echo $response;
} catch (\Exception $e) {
echo $e->getMessage();
}


Filipe Tomita

unread,
May 8, 2019, 11:32:30 AM5/8/19
to nfe...@googlegroups.com
Índice i88

--
--
Você recebeu esta mensagem porque está inscrito no Grupo "NFePHP".
Para Postar: nfe...@googlegroups.com
Para Sair do Grupo: nfephp+un...@googlegroups.com
Link: http://groups.google.com.br/group/nfephp?hl=pt-BR
-------
Repositórios: https://github.com/nfephp-org
---
Você recebeu essa mensagem porque está inscrito no grupo "NFePHP" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para nfephp+un...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Elvis Aron Andrade

unread,
May 29, 2019, 4:28:40 AM5/29/19
to NFePHP
Ola bom dia.
Como faco para criar o arquivo Certificate?

Obrigado.

Em quarta-feira, 8 de maio de 2019 12:32:30 UTC-3, Filipe Tomita escreveu:
Índice i88

Em Seg, 29 de abr de 2019 07:54, Marcos Ferreira <mar...@n41.com.br> escreveu:
Bom dia pessoal tudo bem?

 Uma dúvida sobre a geração de XML, é possível gerar sem assinatura? Uma outra dúvida a transmissão minha via cUrl está retornando tudo em branco, ela só funciona se eu setar o encriptPrivateKey para false, porém a resposta é toda em branco, até mesmo a URL

$soap = new SoapCurl($certificate);
$soap->setEncriptPrivateKey(false);

Basicamente usei o exemplo no repositório e usei o código de enviar porém troquei o fake pelo cUrl

Muito obrigado pela atenção!

--
--
Você recebeu esta mensagem porque está inscrito no Grupo "NFePHP".
Para Postar: nfe...@googlegroups.com
Para Sair do Grupo: nfe...@googlegroups.com

Link: http://groups.google.com.br/group/nfephp?hl=pt-BR
-------
Repositórios: https://github.com/nfephp-org
---
Você recebeu essa mensagem porque está inscrito no grupo "NFePHP" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para nfe...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages