XML desde URL ¿Es posible?

Hola a todos, Un placer.

Actualmente estoy gestionando un proyecto en donde me solicitan leer un XML desde una URL y guardar ésto en una tabla interna para posteriormente llevarla a un Base64.
Conseguí realizarlo pero descargando el xml y subiendo el archivo a través de: cl_gui_frontend_services=>gui_upload. Pero esto no es algo que el cliente desee principalmente.

Mi pregunta es: ¿Existe la posibilidad de poder leer un XML a través de una URL?

De antemano, muchas gracias!!!
Franyi García.

Dudo mucho que se pueda hacer, sería como intentar instalar una aplicación en tu PC sin descargar el ejecutable…

La verdad que no se me ocurre nada… qué opina el grupo de @abapers ?

Encontré leer el URL a través de call METHOD cl_http_client=>create_by_url
pero me devuelve un string con un código HTML.

Esto ha sido lo más “cerca” que he estado, jajaja.

1 me gusta

Podría ser que ya tengas la mitad del trabajo, si la estructura del HTML siempre es la misma y contienes dentro el XML, solo tendrías que limpiar el string y hacer la conversión.

Gracias!! Esto me funcionó.

Pero ahora tengo un problema, porque los saltos de línea me los está tomando como un #, al convertirlo en Base64 y enviarlo me da un error.

Intenté quitarlos con un replace, pasando caracter por caracter a otra variable pero al momento de ver qué valor tenía esa posición del #, me di cuenta que el valor hexadecimal es totalmente distinto al real.

Variable XML_OUT+149(1) tiene un valor hexadecimal 0A00 (INCORRECTO)
Mientras que la variable L_STRING_DATA tiene uno de 2300 (CORRECTO)

image

No sé me ocurre como reemplazar este # del string XML_OUT…

¿Alguna idea?

A mi me ha resultado bien con la siguiente sentencia:

REPLACE ALL OCCURRENCES OF '#' IN tu_texto WITH ''.

Despues uso los siguientes FM:

SCMS_STRING_TO_XSTRING
SMUM_XML_PARSE

Y en este punto haciendo un READ TABLE ya puedes leer los nodos y su valor.

2 Me gusta

Este tema se cerró automáticamente 91 días después del último post. No se permiten nuevas respuestas.