webservice comunicação síncrona
Moderador: Moderadores
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
gzip para webservice
Surgiu a necessidade de transferir a mensagem em formato GZIP para o webservice.
Imagino que seja diferente da usada pra zipar um arquivo, porque nesta inclui nome de arquivo, tamanho, etc.
Alguém tem idéia de como fazer isso?
Imagino que seja diferente da usada pra zipar um arquivo, porque nesta inclui nome de arquivo, tamanho, etc.
Alguém tem idéia de como fazer isso?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
webservice comunicação síncrona
Alguém sabe algo sobre comunicação síncrona ?
Ou poderiam perguntar nos grupos, talvez fivewin/minigui.
Nos testes aqui não retorna nada, nem erro, nem nada.
Na internet menciona o Open() com false, isso sempre usei.
Também menciona que o :WaitForResponse() só vale pra assíncrono.
Mas não encontrei mais detalhes.
NFE e MDFE tem isso faz termpo, mas é opcional.
No CTE vai ser obrigatório.
À primeira vista seria esperar pela resposta, mas tudo indica que não espera.
Já fiz testes trocando POST por GET, colocando testes de conteúdo, etc, mas nenhum funcionou.
Parece que informações pra uso estilo Harbour/VB6 estão sumindo da internet.
Ou poderiam perguntar nos grupos, talvez fivewin/minigui.
Nos testes aqui não retorna nada, nem erro, nem nada.
Na internet menciona o Open() com false, isso sempre usei.
Também menciona que o :WaitForResponse() só vale pra assíncrono.
Mas não encontrei mais detalhes.
NFE e MDFE tem isso faz termpo, mas é opcional.
No CTE vai ser obrigatório.
À primeira vista seria esperar pela resposta, mas tudo indica que não espera.
Já fiz testes trocando POST por GET, colocando testes de conteúdo, etc, mas nenhum funcionou.
Parece que informações pra uso estilo Harbour/VB6 estão sumindo da internet.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
webservice comunicação síncrona
Pelo que estou vendo no manual, eu já faço comunicação síncrona sem problemas.
Então a coisa complicou.
Pode ser que o zip do harbour não seja compatível, não sei dizer.
Então a coisa complicou.
Pode ser que o zip do harbour não seja compatível, não sei dizer.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
webservice comunicação síncrona
No teste bate.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
webservice comunicação síncrona
Olá!
É gzip!
Saudações,
Itamar M. Lins Jr.
É gzip!
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
webservice comunicação síncrona
Resolvido, passaram no harbour-users.
HB_GZCOMPRESS()
O XML.... tá na gambiarra de oficial/homologação, então pode estar errado mesmo.
Esse MDFE já está em funcionamento, o teste é só do envio em modo síncrono.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
gzip para webservice
Oi Zé, eu utilizo a zlib.lib para descompactar o arquivo de Distribuição de NFe, mais não sei como compacta.
Baixamos uma função em C++ para fazer isso
https://www.zlib.net/manual.html#Gzip Manual da zlib
Baixamos uma função em C++ para fazer isso
https://www.zlib.net/manual.html#Gzip Manual da zlib
Código: Selecionar todos
#pragma BEGINDUMP // Abre sessÆo C dentro do fonte PRG
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include "errno.h"
#include "zlib.h"
#include "hbapi.h"
#include "hbapiitm.h"
#include "hbapierr.h"
#define windowBits 15
#define ENABLE_ZLIB_GZIP 32
#define CHUNK 0x4000
char caminhogz[150];
char caminhotxt[150];
HB_FUNC( HB_FUNC_ABRIRGZ )
{
if(!caminhogz[1]){ // Verifica se a posição 1 do vetor já está carregada. (Ao chamar pela segunda vez, o vetor já estava carregado)
strcat(caminhogz, hb_parc(1));
strcat(caminhogz, "tempX.gz");
strcat(caminhotxt, hb_parc(1));
strcat(caminhotxt, "tempX.txt");
}
hb_retni(FUNC_ABRIRGZ());
}
int FUNC_ABRIRGZ()
{
const char * file_name_gz = caminhogz;
const char * file_name_txt = caminhotxt;
FILE * fileo;
FILE * fileo2;
z_stream strm = {0};
unsigned char in[CHUNK];
unsigned char out[CHUNK];
strm.zalloc = Z_NULL;
strm.zfree = Z_NULL;
strm.opaque = Z_NULL;
strm.next_in = in;
strm.avail_in = 0;
if (inflateInit2 (& strm, windowBits | ENABLE_ZLIB_GZIP) < 0)
return -1;
fileo = fopen (file_name_gz, "rb");
if ( fileo <= 0)
return -2;
fileo2 = fopen (file_name_txt, "wb");
if ( fileo2 <= 0)
return -3;
while (1) {
int bytes_read;
int zlib_status;
bytes_read = fread (in, sizeof (char), sizeof (in), fileo);
if (ferror(fileo))
return -4;
strm.avail_in = bytes_read;
strm.next_in = in;
do {
unsigned have;
strm.avail_out = CHUNK;
strm.next_out = out;
zlib_status = inflate (& strm, Z_NO_FLUSH);
switch (zlib_status) {
case Z_OK:
case Z_STREAM_END:
case Z_BUF_ERROR:
break;
default:
inflateEnd (& strm);
fprintf (stderr, "Gzip error %d in '%s'.\n",
zlib_status, file_name_gz);
return -5;
}
have = CHUNK - strm.avail_out;
fwrite (out, sizeof (unsigned char), have, fileo2);
}
while (strm.avail_out == 0);
if (feof (fileo)) {
inflateEnd (& strm);
break;
}
}
if(fclose(fileo))
return -6;
if (fclose(fileo2))
return -7;
return 0;
}
Wanderlei Cardoso
Analista / Programador
XHarbour + GtWvW + FiveWin + HwGui + Firebird
Skype: cwanderlei
cwanderlei@yahoo.com.br
(62)98171-3059 - whatsapp

Analista / Programador
XHarbour + GtWvW + FiveWin + HwGui + Firebird
Skype: cwanderlei
cwanderlei@yahoo.com.br
(62)98171-3059 - whatsapp

- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
gzip para webservice
Valeu, mas isso foi resolvido.
hb_gzCompress()
Mas quem usa xharbour pode precisar.
hb_gzCompress()
Mas quem usa xharbour pode precisar.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
-
Kapiaba
- Colaborador

- Mensagens: 1908
- Registrado em: 07 Dez 2012 16:14
- Localização: São Paulo
- Contato:
webservice comunicação síncrona
Código: Selecionar todos
Pasta de D:\XHBBCC74\tests
23/04/2019 16:49 963 7zip.prg
23/04/2019 16:49 1.210 7zip1.prg
23/04/2019 16:49 2.495 7zip2.prg
23/04/2019 16:49 1.790 7zip3.prg
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
webservice comunicação síncrona
Atenção:
NÃO É compactar arquivo, é compactar texto.
E tem que ser formato gzip, não serve zip.
NÃO É compactar arquivo, é compactar texto.
E tem que ser formato gzip, não serve zip.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- alaminojunior
- Colaborador

- Mensagens: 1717
- Registrado em: 16 Dez 2005 21:26
- Localização: Ubatuba - SP
webservice comunicação síncrona
No meu caso, num sistema ainda em xHarbour criei um executável noutra ferramenta que faz a compactação, pois não encontrei função no xHarbour.JoséQuintas escreveu:Valeu, mas isso foi resolvido.
hb_gzCompress()
Mas quem usa xharbour pode precisar.
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
MySQL c/ SQLRDD
HwGui + GTWVG
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
webservice comunicação síncrona
Só pra atualizar:
O título do tópico foi sobre webservice com comunicação síncrona.
Na prática, a sefazclass faz isso desde o início, trata-se apenas daquele Open() com False.
Sempre usei, e nem sabia que isso tinha a ver.
O envio de GZIP não tem a ver com comunicação síncrona.
Pra alguns webservices da fazenda, isso é opcional há algum tempo.
Para o CTE 4.00 começa a obrigatoriedade: só existe opção GZIP.
Como nos testes não retornava nada, achei que tinha algo a ver com a comunicação sincrona.
Mas saiba que a do Harbour funciona, essa "outra ferramenta" que menciona, pode ser o harbour mesmo.
O título do tópico foi sobre webservice com comunicação síncrona.
Na prática, a sefazclass faz isso desde o início, trata-se apenas daquele Open() com False.
Sempre usei, e nem sabia que isso tinha a ver.
O envio de GZIP não tem a ver com comunicação síncrona.
Pra alguns webservices da fazenda, isso é opcional há algum tempo.
Para o CTE 4.00 começa a obrigatoriedade: só existe opção GZIP.
Como nos testes não retornava nada, achei que tinha algo a ver com a comunicação sincrona.
Foi o primeiro teste que fiz: usei hb_compress() da biblioteca de compatibilidade com xharbour, achando que poderia ser compatível.alaminojunior escreveu:No meu caso, num sistema ainda em xHarbour criei um executável noutra ferramenta que faz a compactação, pois não encontrei função no xHarbour.
Mas saiba que a do Harbour funciona, essa "outra ferramenta" que menciona, pode ser o harbour mesmo.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
