Error UTL_HTTP.WRITE_TEXT ORA-06502
Publicado por Angel Antonio (3 intervenciones) el 25/06/2019 00:07:04
Estimados,
Espero se encuentren bien, y agradecido de antemano me puedan ayudar,
tengo el siguiente problema. Tengo un procedimiento de almacenado que extraer data de un par de tablas y crea un XML de salida con información de productos y que a su vez es enviada mediante un web service a otra aplicación.
El problema específicamente pasa cuando un producto tiene muchas combinaciones de talla y color, y estas combinaciones pasan de 100 .. ya que, el XML que se arma para la salida pasa de 32000 caracteres.
Realicé una corrida del procedimiento de manera debug e imprimiendo el error y el length del xml, encontré lo siguiente:
Content-Length =>37094
Respuesta: ORA-06502: PL/SQL: error numérico o de valor-6502
Obviamente el XML es extenso y cuando se invoca el utilitario http da el error (write_text).
Anexo extracto de código y una imagen justo donde se cae el procedimiento..
estuve buscando en la web y recomiendan hacer chunk del xml.. en este caso particionar el xml según entiendo, pero no entiendo la manera de hacerlo.
Por favor me podrían ayudar??
UTL_HTTP.set_header(req, 'Content-Type', 'text/xml');
UTL_HTTP.set_header(req, 'SOAPAction', '""');
--X Api Key en headers de transporte a MDW
UTL_HTTP.set_header(req, 'x-api-key', v_xapi_key);
UTL_HTTP.set_header(req, 'Content-Length', LENGTH(vmsg_xml));
UTL_HTTP.write_text(req, vmsg_xml);
resp := UTL_HTTP.get_response(req);
UTL_HTTP.read_text(resp, respVal);
UTL_HTTP.end_response(resp);
--Extraer contenido de XML de respuesta e insertar en tabla de log
vXmlTYrespuesta := XmlType(respVal);

Espero se encuentren bien, y agradecido de antemano me puedan ayudar,
tengo el siguiente problema. Tengo un procedimiento de almacenado que extraer data de un par de tablas y crea un XML de salida con información de productos y que a su vez es enviada mediante un web service a otra aplicación.
El problema específicamente pasa cuando un producto tiene muchas combinaciones de talla y color, y estas combinaciones pasan de 100 .. ya que, el XML que se arma para la salida pasa de 32000 caracteres.
Realicé una corrida del procedimiento de manera debug e imprimiendo el error y el length del xml, encontré lo siguiente:
Content-Length =>37094
Respuesta: ORA-06502: PL/SQL: error numérico o de valor-6502
Obviamente el XML es extenso y cuando se invoca el utilitario http da el error (write_text).
Anexo extracto de código y una imagen justo donde se cae el procedimiento..
estuve buscando en la web y recomiendan hacer chunk del xml.. en este caso particionar el xml según entiendo, pero no entiendo la manera de hacerlo.
Por favor me podrían ayudar??
UTL_HTTP.set_header(req, 'Content-Type', 'text/xml');
UTL_HTTP.set_header(req, 'SOAPAction', '""');
--X Api Key en headers de transporte a MDW
UTL_HTTP.set_header(req, 'x-api-key', v_xapi_key);
UTL_HTTP.set_header(req, 'Content-Length', LENGTH(vmsg_xml));
UTL_HTTP.write_text(req, vmsg_xml);
resp := UTL_HTTP.get_response(req);
UTL_HTTP.read_text(resp, respVal);
UTL_HTTP.end_response(resp);
--Extraer contenido de XML de respuesta e insertar en tabla de log
vXmlTYrespuesta := XmlType(respVal);

Valora esta pregunta


0