OT. Error 400 en Consulta WEB

83 views
Skip to first unread message

José Santos Arias Vega

unread,
Jan 25, 2023, 11:19:35 AM1/25/23
to oo...@googlegroups.com, harbourm...@googlegroups.com
Estimados compañeros.

Tengo el siguiente problema, estoy tratando de conectarme a una pagina web para bajar cierto datos (no es una API Rest ni MSSOAP) y se debe enviar ciertos parámetros y un archivo JSON, alli todo bien pero cuando hago el envio via 'POST' me sale :

HTTP Status 400 Unrecognized field METADATA

Metadata esta incluido en el archivo JSON:

{
  "METADATA":
  {
    "CONVERSATIONID": "CRBPG9ID3RHP2",
    "NAMESPACE": "cl.sii.sdi.lob.diii.consdcv.data.api.interfaces.FacadeService/getDetalleCompra",
    "TRANSACTIONID": "0",
    "PAGE": "null"
  },
  "DATA":
  {
    "RUTEMISOR": "76876772",
    "DVEMISOR": "6",
    "PTRIBUTARIO": "202201",
    "CODTIPDOC": "33",
    "OPERACION": "REGISTRO"
  }
}
El problema es que no reconoce el campo metada del archivo JSON, alguien le ha sucedido esto y lo ha solucionado, adjunto el codigo:

function ConsultaRCV
local cCompras,oHttp,cUrl,cJson,cTokencResponse,cAut,oRestapi,cHtml,cArchivo
cHttp:="https://www4.sii.cl/consdcvinternetui/services/data/facadeService/getDetalleCompra"
cToken:=Token() // me trae el Token del SII

****** Creo archivo Json a Enviar *********

cCompras:={=>}
cCompras:Metadata :={=>}
cCompras:Metadata:ConversationID := +cToken
cCompras:Metadata:namespace :="cl.sii.sdi.lob.diii.consdcv.data.api.interfaces.FacadeService/getDetalleCompra"
cCompras:Metadata:transactionId :="0"
cCompras:Metadata:Page :="null"
cCompras:Data :={=>}
cCompras:Data:RutEmisor :="76876772"
cCompras:Data:dvEmisor :="6"
cCompras:Data:ptributario :=+substr(Form_1.Text_1.Value,4,4)+substr(Form_1.Text_1.Value,1,2)
cCompras:Data:CodTipDoc:="33"
cCompras:Data:operacion:="REGISTRO"
cArchivo:=hb_MemoWrit( 'Compras.Json', hb_jsonEncode(cCompras, .T.) )
BEGIN SEQUENCE WITH {|o| break(o)}
oHttp := Win_OleCreateObject( "MSXML2.ServerXMLHTTP" )
RECOVER USING oErr
    MsgStop( oErr:Description, "Error Microsoft XML Core Services (MSXML)" )
    oHttp:=""
END SEQUENCE
******* Direccion WEB *******************
cUrl:="https://www4.sii.cl/consdcvinternetui/services/data/facadeService/getDetalleCompra"

oHttp:Open( "POST", cUrl, .F.)

*************** Headers *********************************

oHttp:setRequestHeader("Referer" , "https://www4.sii.cl/consdcvinternetui/")
oHttp:setRequestHeader( "Content-type", "application/json; charset: utf-8" )
oHttp:setRequestHeader("Accept" , "application/json, text/plain, */*")
oHttp:setRequestHeader("Content-Lenght" , "Host")
oHttp:setRequestHeader("Cookie" , "RUT_NS=76876772; DV_NS=6 ;TOKEN="+cToken+"; CSESSIONID="+cToken) //+ CRLF)
*oHttp:setRequestHeader("Cookie" , +cToken) //+ CRLF)
oHttp:Send(hb_jsonEncode(cCompras, .T.))
cResponse:=oHttp:responseText
hb_memowrit("Respuesta.html",cResponse)
oHttp:=Nil
Return (cResponse)


Saludos.


José Arias Vega

jsar...@gmail.com

unread,
Dec 18, 2023, 5:53:53 PM12/18/23
to harbourminigui_es
Resuelta la parte que daba ese error:

donde dice   oHttp:Send(hb_jsonEncode(cCompras, .T.))
debe decir  oHttp:Send(hb_jsonDecode(cCompras, .T.))

Le puede servir a alguien.


Saludos.



José Arias Vega

Harold San Lee

unread,
Jan 11, 2024, 1:43:40 PM1/11/24
to oo...@googlegroups.com, harbourm...@googlegroups.com
Saludos a la comunidad.
Tengo la necesidad de avanzar en este GUI - OOHG y no he podido tener la más reciente versión de OOHG. 
Alguien me puede ayudar con esto? 
De antemano muchas gracias. 

E. Harold San. 

--
Has recibido este mensaje porque estás suscrito al grupo "[oohg]" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a oohg+uns...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/oohg/CAGuw8rXsPGNZGJ_PU8vTxt8f1a0GXjfoQF0wLrhVJZcHYzqAhQ%40mail.gmail.com.
Reply all
Reply to author
Forward
0 new messages