Dúvida com curl NFSE Ginfes - Santos SP

518 views
Skip to first unread message

Ricardo Ferreira

unread,
Mar 14, 2016, 3:46:06 PM3/14/16
to NFePHP
Boa tarde pessoal,

To a uns 5 dias tentando se conectar ao webservice da ginfes porém não consigo de jeito maneira, já gerei os arquivos .pem, incluseive usando as classes do grupo e nada.

Meu curl atualmente está assim

$curl = curl_init();
curl_setopt($curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
        curl_setopt($curl, CURLOPT_PORT , 443);
        curl_setopt($curl, CURLOPT_VERBOSE, 1);
        curl_setopt($curl, CURLOPT_HEADER, 1); //retorna o cabeçalho de resposta
        curl_setopt($curl, CURLOPT_SSLVERSION, 3);
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
        curl_setopt($curl, CURLOPT_SSLCERT, 'chaves/07300974000130_certKEY.pem');
        curl_setopt($curl, CURLOPT_SSLKEY, 'chaves/07300974000130_priKEY.pem');
curl_setopt($curl, CURLOPT_SSLCERTPASSWD, '12345678');
        curl_setopt($curl, CURLOPT_POST, 1);
        curl_setopt($curl, CURLOPT_POSTFIELDS, $sXmlAssinado);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($curl, CURLOPT_HTTPHEADER,$parametros);

E o erro que me retorna é:

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




Roberto Machado

unread,
Mar 14, 2016, 3:55:41 PM3/14/16
to nfe...@googlegroups.com
Vou responder por que estou bonzinho hoje:

Comenta isso :
curl_setopt($curl, CURLOPT_SSLCERTPASSWD, '12345678');

Verifica se realmente as chaves estão num diretório abaixo de onde está esse script, ou então passe o path REAL das chaves :
curl_setopt($curl, CURLOPT_SSLCERT, 'chaves/07300974000130_certKEY.pem');
curl_setopt($curl, CURLOPT_SSLKEY, 'chaves/07300974000130_priKEY.pem');

Roberto

Ricardo Ferreira

unread,
Mar 14, 2016, 4:24:47 PM3/14/16
to NFePHP
Po Roberto ai sim hein, obrigado, ta bonzinho mesmo :).

To tanto tempo mexendo com isso que já to quase desistindo, huahuahua

Então vamos lá

Fiz as alterações e a mensagem mudou:

HTTP/1.1 100 Continue

HTTP/1.1 500 Internal Server Error
Server: Apache-Coyote/1.1
X-Powered-By: Servlet 2.5; JBoss-5.0/JBossWeb-2.1
Content-Type: text/xml;charset=UTF-8
Transfer-Encoding: chunked
Date: Mon, 14 Mar 2016 20:20:22 GMT
Connection: close

<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'><env:Header></env:Header><env:Body><env:Fault xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'><faultcode>env:Server</faultcode><faultstring>Cannot create SOAP envelope from: {http://www.ginfes.com.br/servico_enviar_lote_rps_envio_v03.xsd}EnviarLoteRpsEnvio</faultstring></env:Fault></env:Body></env:Envelope>0<br/><br/>

Isso é um erro ou é algum pal no xml que gerei?

Roberto Machado

unread,
Mar 14, 2016, 5:03:29 PM3/14/16
to nfe...@googlegroups.com
Podem ser várias coisas tem que investigar:

- URL errada
- Falha no handchake
- Falha interna no servidor 
- etc..

Esse processo de investigação requer :

- uso do curl em linha de comando 
- uso do openssl em linha de comando
- acesso pelo browser com o certificados para pegar o wsdl

Roberto

Adélio Dos Reis Júnior

unread,
Mar 14, 2016, 5:25:52 PM3/14/16
to nfe...@googlegroups.com
Você poderia pegar o xml gerado pelo seu sistema, e jogar no SOAPUI, para ver a resposta, acho mais fácil, sempre uso ele para montar o xml de acesso aos webservices de nfs-e. Você deverá configurar ele para acesso com seu certificado.


--
--
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 Machado

unread,
Mar 14, 2016, 5:38:17 PM3/14/16
to nfe...@googlegroups.com
Não Adelio, eu conheço e uso o soapui mas não tenho disponibilidade para isso 

Roberto

Roberto Machado

unread,
Mar 14, 2016, 5:40:06 PM3/14/16
to nfe...@googlegroups.com
Desculpe Adelio ... entendi tudo ERRADO😦😜😩😟 ... tô meio loco por aqui 

Valeu pela sua ajuda, espero que o Ricardo lei e tente isso !!!

Roberto

Adélio Dos Reis Júnior

unread,
Mar 14, 2016, 6:16:58 PM3/14/16
to nfe...@googlegroups.com
rs...., tranquilo Roberto.

att,

Adélio

--

Ricardo Ferreira

unread,
Mar 15, 2016, 7:30:49 AM3/15/16
to NFePHP
Bom dia pessoal, obrigado a todos pelas respostas vou fazer os testes que vocês passaram.

Teria alguma coisa a ver em eu passar o xml inteiro pelo curl:

curl_setopt($curl, CURLOPT_POSTFIELDS, $sXmlAssinado);

Ou precisaria fazer algum tratamento?

Abraços e mais uma vez obrigado

Juliadson Souza

unread,
Mar 16, 2016, 3:19:02 AM3/16/16
to NFePHP
Boa noite Adélio, poderia fazer um pequeno tutorial de como utilizar o  SOAPUI com certificado.

Ricardo Ferreira

unread,
Mar 16, 2016, 8:35:50 AM3/16/16
to NFePHP

Juliadson Souza

unread,
Mar 17, 2016, 10:36:38 PM3/17/16
to NFePHP
Parei nessa mesma situação. Conseguiu algo ?

Ricardo Ferreira

unread,
Mar 18, 2016, 8:50:42 AM3/18/16
to NFePHP
Olá Juliadson, tudo bem?

Não consegui ainda resolver estou empacado na hora de setar o xml e o cabeçalho com o soap.

Você está tendo dificuldade em qual parte? Você está implantando também para a Ginfes?

Abraços

Fernando Bonfim

unread,
Apr 7, 2017, 12:40:49 PM4/7/17
to NFePHP
Boa tarde,
Estou com o mesmo problema, porem o sistema fuincionou perfeitamente no localhost,
mas quando eu enviei para produção me deparei com isso. A emissao de nfe está OK, o problema está na nfse que implementei agora.

Reinaldo Gomes

unread,
May 27, 2017, 1:58:07 AM5/27/17
to NFePHP
Boa noite pessoal,

Não sei já resolveram, mas talvez isso possa ajudar alguém.

Não uso a Ginfes, mas acabei me baseando num exemplo dela para rodar um WS padrão ABRASF.

Primeiro, usei o SoapUI, mas acabei descobrindo que o Google Chrome tem uma extensão legal que funciona como ele e é bem leve (Boomerang), em seguida, fiz um request para ver o formato padrão do envelope(estava tendo problemas de faultcode por erros na estrutura do meu XML) e com isso identifiquei que nele há duas tags principais, a nfseCabecMsg(cabeçalho) e a nfseDadosMsg(dados da solicitação:

    <x:Header/>
    <x:Body>
        <nfs:RecepcionarLoteRpsRequest>
            <nfs:nfseCabecMsg>?</nfs:nfseCabecMsg>
            <nfs:nfseDadosMsg>?</nfs:nfseDadosMsg>
        </nfs:RecepcionarLoteRpsRequest>
    </x:Body>
</x:Envelope>

O que eu fiz para que desse certo foi apenas criar o cabeçalho como solicitado na documentação do webservice inserindo o mesmo na tag <nfseCabecMsg> e mandando o XML do lote na tag <nfseDadosMsg>, só a partir daqui que consegui ir ajustando todo meu XML de acordo com as validações do WS.

Obs.: Primeiro eu crio o XML do lote e antes de enviá-lo, executo um método que envelopa.
Reply all
Reply to author
Forward
0 new messages