Gracias Luis Ángel.
Cierto tienes razón; gracias por explicarlo.
Los campos de la cabecera de un mensaje HTTP son case-insensitive y que, por lo tanto, llegan a un ESB ya en minúsculas. Esto facilita el procesamiento de los mensajes y es una característica importante de este protocolo de comunicación web.
Aún seguimos sin encontrar respuesta a cómo conseguir que el ESB envíe una etiqueta XML vacía.
Es decir si enviamos desde SoapUI <datosAdicionales /> al enviarlo el ESB lo quita.
Hemos indagado instancialo vacío en el Servicio:
$$$LOGALERT("Entran en if solicitud.pdfFormulario.datosAdicionales.Size=''")
do pRequest.solicitud.pdfFormulario.datosAdicionales.Insert(##class(EsquemasDatos.AdministracionElectronica.PLATEA.v02r00.tns.campoType).%New())
$$$LOGINFO("Al final del if: solicitud.pdfFormulario.datosAdicionales: "_pRequest.datosAdicionales.Size)
}else{
$$$LOGASSERT("Va por else")
set pRequest.solicitud = solicitud
}
Y en la clase de los datos:
Por favor, ¿nos podrían indicar pasos mediante los cuales indagar investigar depurar resolver solventar este reto?
Por compartir
hábitos que Tribu de Mentores recomienda para mejorar la salud, junto con su respectivo emoji:
- 🏃♀️ Hacer ejercicio regularmente: La actividad física es esencial para mantener una buena salud. No es necesario que te conviertas en un atleta de élite, pero sí es importante que hagas algo de ejercicio cada día. Caminar, correr, nadar, hacer yoga o levantar pesas son algunas opciones que puedes considerar.
- 🥗 Comer alimentos saludables: La comida que consumes es tu combustible para el día a día. Es importante que te asegures de estar comiendo alimentos que te den los nutrientes que necesitas para mantenerte saludable. Intenta incluir más frutas, verduras, proteínas magras y granos enteros en tu dieta.
- 🚭 Dejar de fumar: El tabaco es una de las principales causas de enfermedades en el mundo. Si eres fumador, dejar de fumar es una de las mejores cosas que puedes hacer por tu salud. Si no fumas, asegúrate de evitar el humo del cigarrillo y otros productos de tabaco.
- 💤 Dormir lo suficiente: El sueño es fundamental para la salud mental y física. Intenta dormir al menos 7 horas al día para que tu cuerpo y tu mente puedan recuperarse y rejuvenecerse. También es importante tener una rutina de sueño regular para que tu cuerpo se acostumbre a dormir y despertar a las mismas horas cada día.
- 🧘♀️ Reducir el estrés: El estrés crónico puede afectar negativamente tu salud. Es importante que encuentres formas de reducir el estrés en tu vida. La meditación, la respiración profunda, el yoga y el tai chi son algunas técnicas que puedes probar para reducir el estrés.







Gracias Luis Ángel Pérez.
En el hilo, se explican 3 formas de convertir Objeto a JSON, ahora bien; ¿cuál de las 3 es la recomendada por Intersystems, la preferible y/o estándar y por qué?
Eduard Lebedyuk expone 2 alternativas:
1º Utilizar la clase "result set" para contener los resultados:
Para utilizar esta opción, se debe crear una clase que extienda de %RegisteredObject y %JSON.Adaptor que tenga propiedades para contar los resultados (count) y una lista de los mismos (results). Por ejemplo:
Class Test.JSONRS Extends (%RegisteredObject, %JSON.Adaptor) { Property count As %Integer; Property results As list Of Book; }
Luego, se puede convertir un objeto normal a un objeto dinámico y asignarlo a la propiedad results de la clase Test.JSONRS utilizando la función %ObjectToAET:
set dynObj = ##class(%ZEN.Auxiliary.altJSONProvider).%ObjectToAET(obj) set resultSet = ##class(Test.JSONRS).%New() set resultSet.count = <cantidad de resultados> set resultSet.results = dynObj set jsonString = resultSet.%ToJSON()
2º Utilizar un enfoque más simple:
En esta opción, se genera el JSON directamente utilizando la función %JSONExport para cada objeto y concatenando los resultados. Por ejemplo:
set jsonString = {"results": <cantidad de resultados>, "items": [ ##class(%JSON.Adaptor).%JSONExport(obj1)_", "_##class(%JSON.Adaptor).%JSONExport(obj2)_", "_...]}
Este enfoque es más simple pero puede ser menos eficiente en términos de uso de memoria y tiempo de ejecución. Sin embargo, puede ser más adecuado para casos en los que se trabaja con un pequeño número de objetos.
Por otro lado, Muni Ganesh explica esta 3ª vía:
Emplear la función "%ToJSON()" para convertir el objeto "MainObj" a formato JSON y se imprime el resultado.
set array=[] set obj = {} set obj.title="For Whom the Bell Tolls" set obj.author="Hemmingway" do array.%Push(obj) set obj = {} set obj.title="The Invisible Man" set obj.author="Ellison" do array.%Push(obj) set obj = {} set obj.title="Tender is the Night" set obj.author="Fitzgerald" do array.%Push(obj) set arraylen=0 set iter = array.%GetIterator() while iter.%GetNext() { set arraylen=$I(arraylen) } set MainObj={} set MainObj.results=arraylen set MainObj.items=array w MainObj.%ToJSON() ---------------------------------------------------------------------------------------------------------------- Output: {"results":3,"items":[{"title":"For Whom the Bell Tolls","author":"Hemmingway"},{"title":"The Invisible Man","author":"Ellison"},{"title":"Tender is the Night","author":"Fitzgerald"}]} --------------------------------------------------------------------------------------------------------------------
Desarrollando una integración en el ámbito de la interoperabilidad sanitaria, en un Servicio REST ¿cuál es la forma aconsejada por ustedes en Intersystems para convertir Objeto a JSON?
¿Cuál de las 3 es la recomendada por Intersystems, la preferible y/o estándar y por qué?
Gracias, muchas gracias por leer y responder, un saludo.