Crónica de una migración con instalación complicada 6 - Web services y GxUI.

Seguimos con la instalación de servicios web.

GXUi. 
Esta es una biblioteca que soporta algunos user controls interesantes para el desarrollo WEB. Cuando ejecuta en GX16 algunas cosas funciona diferente (por ejemplo, no se puede hacer el Resize de columnas en grillas, no aparece el menu que permite seleccionar que columnas mostrar y cuales no).
Es una biblioteca que ya esta mostrando sus años y no parece adaptarse correctamente a los nuevos desarrollos, pues por ejemplo, no es responsive.
Cuando busque en el Marketplace vi que la ultima version es la que soporta GX15 U10 y no parece claro que vaya a tener soporte para la 16.
Vamos a tener que buscar WA temporales para salir del paso y luego encarar una reprogramación de los programas que la usen buscando alternativas al Layout, Menu, Message, Panel , Grid, etc.  Agrandamos un poco y de forma un poco inesperada, nuestra deuda técnica.

Web Services SOAP. 
Algunos clientes que consumen web services SOAP reportaron errores.

El problema se da porque al pasar de Evo3 a GX16, se generan diferente los WSDL cuando hay SDT de mas de un nivel en los parámetros.

Por ejemplo, en la imagen de arriba se ve el SDT PEAlarmas, que a la derecha (Evo3) generaba un item con el nombre PEAlarmas.PEAlarmasItem y ahora lo hace solo con el nombre PEAlarmasItem.

Esta diferencia la habíamos detectado cuando hicimos la comparación de los WSDL y la corregimos. Pero perdimos el cambio.

El arreglo consiste en ponerle PEAlarmas.PEAlarmasItem en la propiedad "XML Collection Item Name" que en la Evo3 no existía.

Al ser esta una instalación compleja, sabíamos que la puesta en marcha nos iba a llevar un tiempo largo. Para poder seguir desarrollando durante este período, decidimos dejar al grupo desarrollando en Evo3 y la KB en el server en Evo3 y mantener la KB de GX16 también conectada al servidor en Evo3.

Los cambios que se hacen en la GX16, no pueden subirse al server, pues estan en una versión mas nuevas y da error porque siempre hay propiedades nuevas o tienen diferentes formatos.

Hicimos el cambio en la KB local GX16 (desde donde se termina instalando la nueva versión).

Hace unos días, instalamos una nueva versión de GX16 que soluciona otros problemas (el del OLD() en atributos DATE, que ya hable antes) y esto necesitaba un rebuild all para ser efectivo.  Antes de hacerlo, decidí en forma errónea que era bueno volver a bajar la KB del server. Estaba pensando solo en el error del OLD() y me olvidé de los pobres Web Services. En esa recreación de la KB perdimos los cambios realizados a los SDT.

Cometer estos errores, me hace enojar mucho conmigo.

Web Services 2. 
Otro error que apareció, fue que puse MAYÚSCULAS en el nombre de un modulo, para que quedara mas prolijo. Ese modulo tenia un web service SOAP.
El nombre del modulo influye en el nombre de los elementos del WSDL. Y el WSDL es sensible a mayúsculas y minúsculas.  Otro error evitable y detectable.

Recordatorio

Llevar siempre un registro de los cambios realizados para no perderlos y recordar rehacerlos cada vez que se recree la KB.

Seguimos avanzando.

Comentarios

  1. Este comentario ha sido eliminado por el autor.

    ResponderBorrar
  2. Cómo va? nos resultó muy interesante el artículo, justo nos está pasando lo de los SOAP, con qué generador lo están probando?

    Lo que vimos es que en el generador Java la propiedad "XML Collection Item Name" la toma parcialmente, parsea el valor desde el último punto en adelante, o sea, que no funciona realmente. En .net si funciona todo bien.

    Saludos!

    ResponderBorrar
  3. Respuestas
    1. Si, siempre hay que prepararse para que lo que se viene. No se si en forma apurada, pero si es bueno ir testeando lo que se viene.

      Borrar
    2. Nosotros todavía tenemos la mitad de nuestras KB en Gx9 generador C/S VFP con DB2. No solo debemos migrar de versión Gx sino de ambiente...

      Borrar
    3. En el evento GeneXus de 2005, di una charla que se llamaba "Como migrar de Visual FoxPro a Java y no morir en el intento".

      Borrar

Publicar un comentario

1) Lee el post
2) Poné tu opinión sobre el mismo.
Todos los comentarios serán leidos y la mayoría son publicados.

Entradas más populares de este blog

Aplicación monolítica o distribuida?

La nefasta influencia del golero de Cacho Bochinche en el fútbol uruguayo

Funcionalidades de GeneXus que vale la pena conocer: DATE Constants.