ora-29259 se alcanzó el final de la entrada usando UTL_HTTP.BEGIN_REQUEST
Estoy creando un procedimiento almacenado con 2 solicitudes HTTP por separado.
La primera para obtener un Token de Autenticación y la segunda que utiliza el token.
La primera solicitud funciona sin problemas y obtengo el token.
La segunda solicitud arroja la excepción ora-29259 end-of-input reached.
Ambas se ven exactamente iguales, excepto por la URL:
begin
req := utl_http.begin_request(url, 'POST', utl_http.http_version_1_1);
utl_http.set_header(req, 'Authorization', Token/Credentials);
utl_http.set_header(req, 'Content-Type', 'application/json');
utl_http.set_header(req, 'Content-Length', length(content));
utl_http.write_text(req, content);
res := utl_http.get_response(req);
loop
utl_http.read_text(res, buffer);
dbms_output.put_line(buffer);
end loop;
utl_http.end_response(res);
exception
when utl_http.end_of_body then
utl_http.end_response(res);
end;
Encontré esto hace casi 3 años en esta página, que sugiere actualizar la base de datos.
Estoy utilizando Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production, ¿es este el problema? No puedo encontrar ninguna respuesta buscando por mí mismo en Google.
El primer sitio web utiliza TLS 1.2 mientras que el segundo utiliza TLS 1.3, ¿es demasiado antigua mi versión de Oracle?
davy.ai
Es posible que la causa del problema sea la diferencia entre TLS 1.2 y TLS 1.3. Es posible que Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 no sea compatible con el protocolo TLS 1.3 más reciente, lo cual podría estar provocando la excepción ora-29259 de finalización de la entrada al intentar realizar la segunda solicitud HTTP. Es posible que sea necesario actualizar la base de datos a una versión más nueva que admita TLS 1.3 para que la segunda solicitud funcione correctamente. Se recomienda consultar la documentación de Oracle para ver los protocolos TLS admitidos para la versión específica que se está utilizando.