webservice com json
Moderador: Moderadores
webservice com json
Boa Tarde Pessoal,
Preciso usar o webservice com o json no Method POST e não estou tendo sucesso, alguem do forum já fez isso?
Exemplo de como estou usando:
METHOD New() CLASS TFIGGY
********************************************************************************
::cAcesso := 'bd6101cdc209a1b5'
::cURL := 'http://figgy.com.br/ws/datarey'
::cConsulta := 'http://www.figgy.com.br/getDataTypeTest?code=' + ::cAcesso
::aRetorno := Hash()
RETURN( SELF )
METHOD enviaProdutos() CLASS TFIGGY
********************************************************************************
Local cParm := '', aRetorno, oServer, nRetorno := 0
cParm :='[{"cliente_id":'+alltrim(::cAcesso)+','+;
'"cliente_nome":"Farmácia 1",'+;
'"reg_ean":"2569875412356",'+;
'"reg_ms":"1130009950013",'+;
'"nome_comercial":"AAS",'+;
'"apresentacao":"100 MG COM CT BL AL PLAS INC X 30",'+;
'"forma_farmaceutica":"COMPRIMIDO SIMPLES",'+;
'"laboratorio":"SANOFI-AVENTIS FARMACÊUTICA LTDA",'+;
'"tipo_produto":"Referência",'+;
'"princ_ativo":"ACIDO ACETILSALICILICO",'+;
'"preco_promocao":3.45,'+;
'"preco_regular":4.55,'+;
'"qtde_estoque":4,'+;
'"data_cadastro":"19/04/2016 15:45:12",'+;
'"data_atualizacao":"21/04/2016 08:45:22"},'+;
'{"cliente_id":'+alltrim(::cAcesso)+','+;
'"cliente_nome":"Farmácia 1",'+;
'"reg_ean":"2487878759456",'+;
'"reg_ms":"1036701660011",'+;
'"nome_comercial":"MICARDIS ANLO",'+;
'"apresentacao":"40MG + 5MG COM CT BL AL/AL X 10 ",'+;
'"forma_farmaceutica":"COMPRIMIDO SIMPLES",'+;
'"laboratorio":"BOEHRINGER INGELHEIM PHARMA GMBH",'+;
'"tipo_produto":"Referência",'+;
'"princ_ativo":"TELMISARTANA BESILATO DE ANLODIPINO",'+;
'"preco_promocao":72.00,'+;
'"preco_regular":89.00,'+;
'"qtde_estoque":5,'+;
'"data_cadastro":"18/03/2016 17:45:22",'+;
'"data_atualizacao":"15/07/2016 10:42:02"}]'
oServer:=CreateObject( "MSXML2.ServerXMLHTTP")
oServer:Open( "POST", alltrim(::cUrl) , .f. )
oServer:setRequestHeader( "Content-Type", "application/json" )
oServer:setRequestHeader( "CharSet", "utf-8" )
oServer:send( cParm )
cRetorno := oServer:ResponseBody
Msginfo(cRetorno,'cRetorno')
return( aRetorno )
Preciso usar o webservice com o json no Method POST e não estou tendo sucesso, alguem do forum já fez isso?
Exemplo de como estou usando:
METHOD New() CLASS TFIGGY
********************************************************************************
::cAcesso := 'bd6101cdc209a1b5'
::cURL := 'http://figgy.com.br/ws/datarey'
::cConsulta := 'http://www.figgy.com.br/getDataTypeTest?code=' + ::cAcesso
::aRetorno := Hash()
RETURN( SELF )
METHOD enviaProdutos() CLASS TFIGGY
********************************************************************************
Local cParm := '', aRetorno, oServer, nRetorno := 0
cParm :='[{"cliente_id":'+alltrim(::cAcesso)+','+;
'"cliente_nome":"Farmácia 1",'+;
'"reg_ean":"2569875412356",'+;
'"reg_ms":"1130009950013",'+;
'"nome_comercial":"AAS",'+;
'"apresentacao":"100 MG COM CT BL AL PLAS INC X 30",'+;
'"forma_farmaceutica":"COMPRIMIDO SIMPLES",'+;
'"laboratorio":"SANOFI-AVENTIS FARMACÊUTICA LTDA",'+;
'"tipo_produto":"Referência",'+;
'"princ_ativo":"ACIDO ACETILSALICILICO",'+;
'"preco_promocao":3.45,'+;
'"preco_regular":4.55,'+;
'"qtde_estoque":4,'+;
'"data_cadastro":"19/04/2016 15:45:12",'+;
'"data_atualizacao":"21/04/2016 08:45:22"},'+;
'{"cliente_id":'+alltrim(::cAcesso)+','+;
'"cliente_nome":"Farmácia 1",'+;
'"reg_ean":"2487878759456",'+;
'"reg_ms":"1036701660011",'+;
'"nome_comercial":"MICARDIS ANLO",'+;
'"apresentacao":"40MG + 5MG COM CT BL AL/AL X 10 ",'+;
'"forma_farmaceutica":"COMPRIMIDO SIMPLES",'+;
'"laboratorio":"BOEHRINGER INGELHEIM PHARMA GMBH",'+;
'"tipo_produto":"Referência",'+;
'"princ_ativo":"TELMISARTANA BESILATO DE ANLODIPINO",'+;
'"preco_promocao":72.00,'+;
'"preco_regular":89.00,'+;
'"qtde_estoque":5,'+;
'"data_cadastro":"18/03/2016 17:45:22",'+;
'"data_atualizacao":"15/07/2016 10:42:02"}]'
oServer:=CreateObject( "MSXML2.ServerXMLHTTP")
oServer:Open( "POST", alltrim(::cUrl) , .f. )
oServer:setRequestHeader( "Content-Type", "application/json" )
oServer:setRequestHeader( "CharSet", "utf-8" )
oServer:send( cParm )
cRetorno := oServer:ResponseBody
Msginfo(cRetorno,'cRetorno')
return( aRetorno )
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
webservice com json
Não.
Mas se eu fosse fazer, com certeza iria começar por uma consulta que retorne formato json.
Com base no retorno, faria o envio.
Mas se eu fosse fazer, com certeza iria começar por uma consulta que retorne formato json.
Com base no retorno, faria o envio.
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/
webservice com json
Tenta pelo meu exemplo:
Código: Selecionar todos
cRetorno := :responseBody
aResposta := {}
nLen := hb_jsondecode( cRetorno, @aResposta )
If ValType(aResposta) = "H"
If Len(aResposta) != 0
aRetorno := { aResposta["numCda"],;
aResposta["codErro"],;
aResposta["dataInscricao"] }
Endif
Endif
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
webservice com json
O problema dele é envio, e não retorno.
E ao que parece, ele tá inventando um novo formato pra json.
E ao que parece, ele tá inventando um novo formato pra json.
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/
webservice com json
Oi Zé, eu faço a consulta para saber que tipo de arquivo devo enviar, o problema mesmo é o envio o POST.
Consulta:
METHOD enviaConsulta() CLASS TFIGGY
********************************************************************************
Local oServer, cRetorno := ''
oServer:=CreateObject( "MSXML2.ServerXMLHTTP")
oServer:Open( "GET", ::cConsulta , .f. )
oServer:setRequestHeader("Content-Type", "application/json; charset=utf-8")
oServer:Send()
cRetorno:=alltrim(upper(oServer:ResponseText))
return( cRetorno )
METHOD New() CLASS TFIGGY
********************************************************************************
::cAcesso := 'bd6101cdc209a1b5'
::cURL := 'http://figgy.com.br/ws/datarey'
::cConsulta := 'http://www.figgy.com.br/getDataTypeTest?code=' + ::cAcesso
::aRetorno := Hash()
RETURN( SELF )
Consulta:
METHOD enviaConsulta() CLASS TFIGGY
********************************************************************************
Local oServer, cRetorno := ''
oServer:=CreateObject( "MSXML2.ServerXMLHTTP")
oServer:Open( "GET", ::cConsulta , .f. )
oServer:setRequestHeader("Content-Type", "application/json; charset=utf-8")
oServer:Send()
cRetorno:=alltrim(upper(oServer:ResponseText))
return( cRetorno )
METHOD New() CLASS TFIGGY
********************************************************************************
::cAcesso := 'bd6101cdc209a1b5'
::cURL := 'http://figgy.com.br/ws/datarey'
::cConsulta := 'http://www.figgy.com.br/getDataTypeTest?code=' + ::cAcesso
::aRetorno := Hash()
RETURN( SELF )
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
webservice com json
Olha aí que tem um exemplo de retorno em json.
Vai ser que seu envio está diferente.
https://viacep.com.br/
Vai ser que seu envio está diferente.
https://viacep.com.br/
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 com json
Talvez melhor mostrar:
Algo está diferente.
E pode ter mais diferenças.
Algo está diferente.
E pode ter mais diferenças.
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 com json
Aproveitando....
É o que falo sobre programação: aprender o básico e ficar forte no básico.
O resto vém depois.
Isso vale pra programação, pra BAT, pra XML, pra webservice, pra JSON, pra LIB gráfica.....
Pode não resolver os problemas, mas ajuda muuuito.
Porque no final... tudo acaba sendo feito a partir do básico....
E o que não existir no básico, a gente cria..... mesmo descobrindo depois que já existe pronto... rs
Então o básico de json é.... pegar um modelo pronto pra servir de exemplo.
É o que falo sobre programação: aprender o básico e ficar forte no básico.
O resto vém depois.
Isso vale pra programação, pra BAT, pra XML, pra webservice, pra JSON, pra LIB gráfica.....
Pode não resolver os problemas, mas ajuda muuuito.
Porque no final... tudo acaba sendo feito a partir do básico....
E o que não existir no básico, a gente cria..... mesmo descobrindo depois que já existe pronto... rs
Então o básico de json é.... pegar um modelo pronto pra servir de exemplo.
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/
webservice com json
Quintas = programador RAIZ
Marcelo Neves
https://produto.mercadolivre.com.br/MLB ... 0067609615
whatsapp (41) 99786-3995
http://harbourdeveloper.blogspot.com
marcelo.souza.das.neves@gmail.com
https://produto.mercadolivre.com.br/MLB ... 0067609615
whatsapp (41) 99786-3995
http://harbourdeveloper.blogspot.com
marcelo.souza.das.neves@gmail.com
webservice com json
Para gerar o arquivo JSON
Para ler:
Código: Selecionar todos
hTable := { => }
FOR I:=1 TO 5
hRecord := { => }
hb_HSet( hRecord, "CODIGO", StrZero(i, 5) )
hb_HSet( hRecord, "NOME", "ALEXANDRE" )
hb_HSet( hTable, hb_NtoS( I ), hRecord )
NEXT
hb_MemoWrit( "NEW.JSON", hb_jsonEncode( hTable, .T. ) )
Código: Selecionar todos
hb_jsondecode( hb_MemoRead( "new.json" ), @hTable )
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)


