SOAP NFSE Ginfes

393 views
Skip to first unread message

Ricardo Ferreira

unread,
Mar 10, 2016, 9:22:53 AM3/10/16
to NFePHP
Bom dia pessoal,

Estou usando o código abaixo para tentar enviar o xml para o ginfes

$options = array(
            'encoding'      => 'UTF-8',
            'verifypeer'    => false,
            'verifyhost'    => false,
            'soap_version'  => 'SOAP_1_1',
            'style'         => SOAP_DOCUMENT,
            'use'           => SOAP_LITERAL,
            'local_cert'    => 'certificado/cert_a1_gerei.pem',
            'trace'         => true,
            'compression'   => 0,
            'exceptions'    => true,
            'cache_wsdl'    => WSDL_CACHE_NONE
        );
$soap = new SoapClient('https://homologacao.ginfes.com.br/ServiceGinfesImpl?wsdl', $options);

porem está dando erro, após varias pesquisas não achei nada.

Vocês teriam ai algum modelo do envio de NFSE com soap?


Roberto Machado

unread,
Mar 10, 2016, 9:26:43 AM3/10/16
to nfe...@googlegroups.com
Ricardo;

Para que você não perca tempo e cabelo eu recomendo fortemente que use cURL, para comunicação SOAP, pois as SEFAZ e as prefeituras geralmente não utilizam a comunicação padrão, o que impõe algumas "magicas" para usar o SOAP nativo.

O cURL é muito mas muito mais fácil 

Roberto

Ricardo Ferreira

unread,
Mar 10, 2016, 9:39:50 AM3/10/16
to NFePHP
Grande Roberto,

Obrigado pelo esclarecimento, você teria ai um modelo que eu possa seguir?

Roberto Machado

unread,
Mar 10, 2016, 10:01:43 AM3/10/16
to nfe...@googlegroups.com

Em 10 de março de 2016 11:39, Ricardo Ferreira <grup...@gmail.com> escreveu:
Grande Roberto,

Obrigado pelo esclarecimento, você teria ai um modelo que eu possa seguir?

--
--
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ório: https://github.com/nfephp-org/nfephp
---
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.



--
Roberto
Nisi utile est quod facimus stulta est gloriae (Julius Phaedous)

Ricardo Ferreira

unread,
Mar 10, 2016, 12:37:29 PM3/10/16
to NFePHP
Obrigado Roberto pelo link,

Só mais um dúvida os certificado certKeyPath e priKeyPath teria que ser na extensão .pem correto?

Roberto Machado

unread,
Mar 10, 2016, 1:00:41 PM3/10/16
to nfe...@googlegroups.com
SIM

Em 10 de março de 2016 14:37, Ricardo Ferreira <grup...@gmail.com> escreveu:
Obrigado Roberto pelo link,

Só mais um dúvida os certificado certKeyPath e priKeyPath teria que ser na extensão .pem correto?

--
--
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ório: https://github.com/nfephp-org/nfephp
---
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.

Ricardo Ferreira

unread,
Mar 10, 2016, 1:18:30 PM3/10/16
to NFePHP
Roberto nessa variáveis eu seto a variavel com o conteudo do arquivo .pem ou eu seto o caminho do certificado .pem?

Fiz das duas formas e está me retornando esse erro:

unable to use client certificate (no key found or wrong pass phrase?)

Desculpe ser chato, só que ja to careca com essa integração, assim que deixar isso redondo foi disponibilizar no grupo para que outros devs não sofram tanto hauhuaha.

Abraços

Ricardo Ferreira

unread,
Mar 10, 2016, 1:20:08 PM3/10/16
to NFePHP
Outra coisa eu to gerando os arquivos .pem com essa função do php

$caminhoCertificado = file_get_contents($this->caminhoCertificado);
openssl_pkcs12_read($caminhoCertificado, $cert, $this->senhaCertificado);

Nesse tipo funciona? Ou preciso gerar o arquivo pem de outra forma.

Roberto Machado

unread,
Mar 10, 2016, 2:40:58 PM3/10/16
to nfe...@googlegroups.com
Não é bem isso, com o openssl_pkcs12_read() você está apenas lendo o certificado não está gravando nada !

Pelo que você está me passando (visto que não conheço você) suas duvidas são mais basicas no uso de funções especificas de ssl do PHP.

Dê uma estudada em outras classe  https://github.com/nfephp-org/nfephp/tree/master/libs/Common/Certificate  essas são especificas para lidar com os certificados.

Leia e entenda as classes antes de tentar apenas usar 

Roberto

Ricardo Ferreira

unread,
Mar 14, 2016, 10:29:52 AM3/14/16
to NFePHP
Bom dia Roberto, tudo bem?

Nesse final de semana estudei as classes como você sugeriu, fiz também a geração das chaves usando os código do projeto nfephp.

Os arquivos que gerei foram:

07300974000130_certKEY.pem
07300974000130_priKEY.pem
07300974000130_pubKEY.pem

No curl tenho os parâmetros:

curl_setopt($curl, CURLOPT_SSLCERT, ''); //Chave publica
curl_setopt($curl, CURLOPT_SSLKEY, ''); //Chave primaria
curl_setopt($curl, CURLOPT_SSLCERTPASSWD, ''); //Senha certificado

Seria esses valores nos parâmetros?

Abraços


Roberto Machado

unread,
Mar 14, 2016, 10:49:54 AM3/14/16
to nfe...@googlegroups.com
Ricardo;

Novamente peço que olhe como foi feito nas classes common antes de perguntar caso contrario tenho que ensinar o que é cada comando do cURL.
Veja na classe CurlSoap.php no método zCommCurl()

Roberto

Reply all
Reply to author
Forward
0 new messages