Testando os SERVIÇOS com cURL

1,011 views
Skip to first unread message

Roberto L. Machado

unread,
Feb 5, 2011, 6:44:47 AM2/5/11
to nfe...@googlegroups.com
Bernardo; para acessar os serviços usando o cURL tente o seguinte
comando :

curl -vv -s -k --cert <path certificado.pem> --url
"https://nfe.sefazvirtual.rs.gov.br/ws/nferecepcao/NfeRecepcao.asmx?WSDL"


voce deve usar o certificado gerado pelo sistema a partir do NFePHP esta
na pasta nfephp/certs/<seu cnpj)_certKEY.pem veja a resposta no meu
caso.

curl -vv -s -k --cert ./58716523000119_certKEY.pem --url
"https://nfe.sefazvirtual.rs.gov.br/ws/nferecepcao/NfeRecepcao.asmx?WSDL"
* About to connect() to nfe.sefazvirtual.rs.gov.br port 443 (#0)
* Trying 200.233.3.104... connected
* Connected to nfe.sefazvirtual.rs.gov.br (200.233.3.104) port 443 (#0)
* successfully set certificate verify locations:
* CAfile: none
CApath: /etc/ssl/certs
* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS handshake, Server hello (2):
* SSLv3, TLS handshake, CERT (11):
* SSLv3, TLS handshake, Request CERT (13):
* SSLv3, TLS handshake, Server finished (14):
* SSLv3, TLS handshake, CERT (11):
* SSLv3, TLS handshake, Client key exchange (16):
* SSLv3, TLS handshake, CERT verify (15):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSL connection using RC4-MD5
* Server certificate:
* subject: C=BR; O=ICP-Brasil; OU=Autoridade Certificadora SERPROACF;
OU=CONTRIBUINTE; OU=Equipamento A1; CN=nfe.sefazvirtual.rs.gov.br
* start date: 2010-06-23 20:08:03 GMT
* expire date: 2011-06-23 19:35:53 GMT
* common name: nfe.sefazvirtual.rs.gov.br (matched)
* issuer: C=BR; O=ICP-Brasil; OU=Servico Federal de Processamento de
Dados - SERPRO; OU=CSPB-1; CN=Autoridade Certificadora do SERPRO Final
v2
* SSL certificate verify result: unable to get local issuer
certificate (20), continuing anyway.
> GET /ws/nferecepcao/NfeRecepcao.asmx?WSDL HTTP/1.1
> User-Agent: curl/7.21.0 (x86_64-pc-linux-gnu) libcurl/7.21.0
OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18
> Host: nfe.sefazvirtual.rs.gov.br
> Accept: */*
>
< HTTP/1.1 200 OK
< Date: Sat, 05 Feb 2011 11:41:22 GMT
< Server: Microsoft-IIS/6.0
< X-Powered-By: ASP.NET
< X-AspNet-Version: 2.0.50727
< Cache-Control: private, max-age=0
< Content-Type: text/xml; charset=utf-8
< Content-Length: 3394
<
<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:tns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
targetNamespace="http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<s:schema elementFormDefault="qualified"
targetNamespace="http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao">
<s:element name="nfeRecepcaoLote">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="nfeCabecMsg"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="nfeDadosMsg"
type="s:string" />
</s:sequence>
..... e continua trazendo todo o xml do WSDL

Abraço
Roberto

Bernardo Hoehl

unread,
Feb 5, 2011, 9:52:28 AM2/5/11
to nfe...@googlegroups.com
Oi Roberto,


Usei sua sugestão de comando e escrevi esta manhã um Applescript que lê o "config/urlWebServicesNFe.xml" e em seguida sai tentando todos, este é meu resultado aqui:

Serviço da UF \"AC\"
Em ambiente: homologacao
URL usada: 
Status: Serviço Operacional
============================
Serviço da UF \"AC\"
Em ambiente: producao
URL usada: 
Status: erro de timeout
============================
Serviço da UF \"AL\"
Em ambiente: homologacao
URL usada: 
Status: Serviço Operacional
============================
Serviço da UF \"AL\"
Em ambiente: producao
URL usada: 
Status: erro de timeout
============================
Serviço da UF \"AM\"
Em ambiente: homologacao
URL usada: 
Status: Serviço Operacional
============================
Serviço da UF \"AM\"
Em ambiente: producao
URL usada: 
Status: Serviço Operacional
============================
Serviço da UF \"AP\"
Em ambiente: homologacao
URL usada: 
Status: Serviço Operacional
============================
Serviço da UF \"AP\"
Em ambiente: producao
URL usada: 
Status: erro de timeout
============================
Serviço da UF \"BA\"
Em ambiente: homologacao
URL usada: 
Status: erro de timeout
============================
Serviço da UF \"BA\"
Em ambiente: producao
URL usada: 
Status: erro de timeout
============================
Serviço da UF \"CE\"
Em ambiente: homologacao
URL usada: 
Status: Serviço Operacional
============================
Serviço da UF \"CE\"
Em ambiente: producao
URL usada: 
Status: Serviço Operacional
============================
Serviço da UF \"DF\"
Em ambiente: homologacao
URL usada: 
Status: erro de timeout
============================
Serviço da UF \"DF\"
Em ambiente: producao
URL usada: 
Status: erro de timeout
============================
Serviço da UF \"ES\"
Em ambiente: homologacao
URL usada: 
Status: erro de timeout
============================
Serviço da UF \"ES\"
Em ambiente: producao
URL usada: 
Status: erro de timeout
============================
Serviço da UF \"GO\"
Em ambiente: homologacao
URL usada: 
Status: Serviço Operacional
============================
Serviço da UF \"GO\"
Em ambiente: producao
URL usada: 
Status: Serviço Operacional
============================
Serviço da UF \"MA\"
Em ambiente: homologacao
URL usada: 
Status: erro de timeout
============================
Serviço da UF \"MA\"
Em ambiente: producao
URL usada: 
Status: erro de timeout
============================
Serviço da UF \"MG\"
Em ambiente: homologacao
URL usada: 
Status: Serviço Operacional
============================
Serviço da UF \"MG\"
Em ambiente: producao
URL usada: 
Status: Serviço Operacional
============================
Serviço da UF \"MS\"
Em ambiente: homologacao
URL usada: 
Status: erro de timeout
============================
Serviço da UF \"MS\"
Em ambiente: producao
URL usada: 
Status: erro de timeout
============================
Serviço da UF \"MT\"
Em ambiente: homologacao
URL usada: 
Status: Serviço Operacional
============================
Serviço da UF \"MT\"
Em ambiente: producao
URL usada: 
Status: Serviço Operacional
============================
Serviço da UF \"PA\"
Em ambiente: homologacao
URL usada: 
Status: erro de timeout
============================
Serviço da UF \"PA\"
Em ambiente: producao
URL usada: 
Status: erro de timeout
============================
Serviço da UF \"PB\"
Em ambiente: homologacao
URL usada: 
Status: Serviço Operacional
============================
Serviço da UF \"PB\"
Em ambiente: producao
URL usada: 
Status: erro de timeout
============================
Serviço da UF \"PE\"
Em ambiente: homologacao
URL usada: 
Status: Serviço Operacional
============================
Serviço da UF \"PE\"
Em ambiente: producao
URL usada: 
Status: Serviço Operacional
============================
Serviço da UF \"PI\"
Em ambiente: homologacao
URL usada: 
Status: erro de timeout
============================
Serviço da UF \"PI\"
Em ambiente: producao
URL usada: 
Status: erro de timeout
============================
Serviço da UF \"PR\"
Em ambiente: homologacao
URL usada: 
Status: Serviço Operacional
============================
Serviço da UF \"PR\"
Em ambiente: producao
URL usada: 
Status: Serviço Operacional
============================
Serviço da UF \"RJ\"
Em ambiente: homologacao
URL usada: 
Status: Serviço Operacional
============================
Serviço da UF \"RJ\"
Em ambiente: producao
URL usada: 
Status: erro de timeout
============================
Serviço da UF \"RN\"
Em ambiente: homologacao
URL usada: 
Status: erro de timeout
============================
Serviço da UF \"RN\"
Em ambiente: producao
URL usada: 
Status: erro de timeout
============================
Serviço da UF \"RO\"
Em ambiente: homologacao
URL usada: 
Status: Serviço Operacional
============================
Serviço da UF \"RO\"
Em ambiente: producao
URL usada: 
Status: erro de timeout
============================
Serviço da UF \"RR\"
Em ambiente: homologacao
URL usada: 
Status: Serviço Operacional
============================
Serviço da UF \"RR\"
Em ambiente: producao
URL usada: 
Status: erro de timeout
============================
Serviço da UF \"RS\"
Em ambiente: homologacao
URL usada: 
Status: Serviço Operacional
============================
Serviço da UF \"RS\"
Em ambiente: producao
URL usada: 
Status: Serviço Operacional
============================
Serviço da UF \"SC\"
Em ambiente: homologacao
URL usada: 
Status: Serviço Operacional
============================
Serviço da UF \"SC\"
Em ambiente: producao
URL usada: 
Status: erro de timeout
============================
Serviço da UF \"SE\"
Em ambiente: homologacao
URL usada: 
Status: Serviço Operacional
============================
Serviço da UF \"SE\"
Em ambiente: producao
URL usada: 
Status: erro de timeout
============================
Serviço da UF \"SP\"
Em ambiente: homologacao
URL usada: 
Status: erro de timeout
============================
Serviço da UF \"SP\"
Em ambiente: producao
URL usada: 
Status: erro de timeout
============================
Serviço da UF \"TO\"
Em ambiente: homologacao
URL usada: 
Status: Serviço Operacional
============================
Serviço da UF \"TO\"
Em ambiente: producao
URL usada: 
Status: erro de timeout
============================
Serviço da UF \"SCAN\"
Em ambiente: homologacao
URL usada: 
Status: erro de timeout
============================
Serviço da UF \"SCAN\"
Em ambiente: producao
URL usada: 
Status: erro de timeout
============================

Roberto Leite Machado

unread,
Feb 5, 2011, 4:03:57 PM2/5/11
to nfe...@googlegroups.com
Bernardo;

O curl via linha de comando não funciona em ambientes nacionais devido a
configuração do servidor deles (nem SVAN , nem SCAN) porém testei vários
outros e houve resposta normal. SP não dá timeout alias para mim
responde muito rapidamente.

Abraço
Roberto

Bernardo Hoehl

unread,
Feb 5, 2011, 6:09:36 PM2/5/11
to nfe...@googlegroups.com
Roberto,

Veja que interessante...

Eu adicionei preferências ao "Keychain Access" do meu Mac, de forma que eu consigo acessar as URLs sem parar para confirmar certificado, ou seja o Safari passa o meu certificado e faço a conversa ok.

Na verdade eu digo para meu sistema que ao tentar acessar "tal url", envie meu certificado sem me perguntar por senha.

Os testes que estou realizando, são na mesma UF = SP, que o curl não consegue "conversar"...

Eu escrevi um applescript...

Veja fotos dos meus resultados em anexo.

Acho que é possível tentar enviar NFe via Safari e AppleScript, ou não???

O que você acha?

Obrigado!


Bernardo

=======================

Screen shot 2011-02-05 at 8.53.32 PM.png
Screen shot 2011-02-05 at 9.01.09 PM.png

Roberto Leite Machado

unread,
Feb 6, 2011, 6:56:42 AM2/6/11
to nfe...@googlegroups.com
Bernardo;

Eu não conheço applescript pois nunca tive o prazer de ter um Mac (quem
sabe um dia ganho o suficiente para isso) e então não sei responder. O
que sei é que pode ser enviado usando JAVA, existe a possibilidade de
usar o descritor de javascript para converter uma aplicação feita em
java para rodar no browser, não lembro o nome agora mas sei que é
poderoso.

O problema é que a mensagem deve ser enviada usando o protocolo SOAP
(1.1 para a versão 1 e 1.2 para a versão 2) e não tenho a menor ideia
se o applestript possui este recurso.

Abraço
Roberto

Joaquim Andrade

unread,
Feb 6, 2011, 8:23:09 AM2/6/11
to nfe...@googlegroups.com
Prezados Companheiros do NfePhp

Meu sistema próprio grava um arquivo txt que é importado pelo Emissor.
Na linha Z gostaria de poder quebrar as mensagens várias linhas para serem
impressas no Danfe (Quadro complementar).
Alguém conhece qual o caracter(s) que define tal quebra? (não é ponto e
vírgula nem barra ou barra barra ene)
Antecipadamente agradeço
Joaquim Andrade

-----Mensagem original-----
De: nfe...@googlegroups.com [mailto:nfe...@googlegroups.com] Em nome de
Roberto Leite Machado
Enviada em: domingo, 6 de fevereiro de 2011 09:57
Para: nfe...@googlegroups.com
Assunto: Re: [nfephp] Testando os SERVIÇOS com cURL (off - topic)

Bernardo Hoehl

unread,
Feb 6, 2011, 9:49:51 AM2/6/11
to nfe...@googlegroups.com
Oi Roberto e amigos,


Eu fui indicado usar este app aqui:

http://www.soapui.org/

Pensei em indicar aos amigos do NFePhp para seus testes...

Me foi dito que depois de configurado este pode ser chamado a partir da linha de comando...

Acho que pode ser muito útil para todos vocês.


Bernardo

=======================

Paulo Gabriel

unread,
Feb 6, 2011, 10:29:20 PM2/6/11
to nfe...@googlegroups.com
O soapUI parece interessante e muito útil!

Vou dar uma olhada. Obrigado Bernardo! :)

Paulo Gabriel

unread,
Feb 6, 2011, 10:31:25 PM2/6/11
to nfe...@googlegroups.com
"soapUI supports the most widely used 1.1 version of WSDL and corresponding bindings for SOAP 1.1 and 1.2."

Bernardo Hoehl

unread,
Feb 7, 2011, 5:51:58 AM2/7/11
to nfe...@googlegroups.com
Fico feliz em ajudar Paulo.

Realmente, o SOAPUi parece muito poderoso, e me disseram que você pode chamar ele depois de configurado pela linha de comando.

Pode ser muito útil para todos vocês...


On 07.02.2011, at 1:31 AM, Paulo Gabriel wrote:

"soapUI supports the most widely used 1.1 version of WSDL and corresponding bindings for SOAP 1.1 and 1.2."

Reply all
Reply to author
Forward
0 new messages