Ver Mensaje Individual
  #1059  
Antiguo 15-07-2021
Galaxian Galaxian is offline
Miembro
 
Registrado: mar 2021
Posts: 52
Reputación: 4
Galaxian Va por buen camino
Cita:
Empezado por thinkows Ver Mensaje
Buenos días creía que era el único en desarrollar en anacrónico VB6 que alegría me has dado, yo también genero el xml y firmo con chilkat ... pero el envío a Guipuzkoa lo tengo muy verde, estoy probando con Advanced Rest Client de SoftEmule el ejemplo que ha puesto un compañero pero siempre me da error 500, podrías poner algun ejemplo de envio a Guipuzkoa ??? te estaría muy agradecido y si necesitas algo mi
aquí estoy ....

Saludos y gracias de antemano
Las librerías Chilkat también tienen su propia clase REST. Aquí tiene un ejemplo en C++ que no debería costarte demasiado "trasplantarlo" a VB6:

NOTAS:
El JSON y el XML ya están creados y cargados en la variable string "jsn" y "xml" respectivamente.
El certificado en un objeto del tipo CkCert llamado "Certificado.
Para más claridad he quitado el control de errores.

Cita:
CkRest rest;
rest.AddHeader("Accept-Encoding","gzip");
rest.AddHeader("Content-Encoding","gzip");
rest.AddHeader("Content-Type","application/octet-stream");
rest.AddHeader("eus-bizkaia-n3-version","1.0");
rest.AddHeader("eus-bizkaia-n3-content-type","application/xml");
rest.AddHeader("eus-bizkaia-n3-data",cCodificacion::Codificar::JsonEscape(jsn));

CkSocket socket;

socket.SetSslClientCert(Certificado);
socket.Connect("pruesarrerak.bizkaia.eus",443,SI,5000);

rest.UseConnection(socket,true);
rest.SendReqStringBody("POST","/N3B4000M/aurkezpena",xml);

rest.ReadResponseHeader(); // Si necesitas las cabeceras para algo. Normalmente no son
std::string cr=rest.responseHeader() // necesarias, pero en caso de error de envío pueden ser útiles.

CkByteData rb;
rest.ReadRespBodyBinary(rb);

// Ya solo queda extraer el gzip que está en la variable rb y descomprimirlo.
Responder Con Cita