Este tema explica lo que debe hacer con cada archivo de definición de mensajes durante la migración.
Debe estar al corriente de la siguiente información sobre cada archivo de definición de mensajes cuando utiliza el Mandato mqsimigratemsgsets.
Se recomienda encarecidamente que no modifique el archivo de conjunto de mensajes manualmente entre la exportación de la versión 2.1 y la importación a la versión 5.0 de WebSphere Business Integration Message Broker puesto que los resultados no están garantizados. Esto puede indicarse por la presencia de los siguientes mensajes de aviso y de error en el informe (BIP0141, BIP0142 hasta BIP0157, BIP0163)
Observe que la composición de tipo de 'simpleUnorderedSet' se ha desactivado del modelo en la versión 5.0 de WebSphere Business Integration Message Broker. Si el contenido del tipo está cerrado 'closed', entonces se sustituye por 'all' con un mensaje de aviso BIP0191; de lo contrario, se sustituye por 'unorderedSet' con un mensaje de aviso BIP0192.
La composición del tipo 'empty' se sustituye por una secuencia 'sequence' vacía con un mensaje de aviso BIP0193.
En la versión 2.1, un identificador con prefijo pretendía indicar que un elemento era en realidad local. Sin embargo, es posible que un elemento con un identificador con prefijo se utilice en realidad en más de un tipo compuesto, convirtiéndose en global. Si este es el caso, el elemento global se crea siguiendo las normas anteriores
También se emite un mensaje de aviso BIP0195, puesto que se trata de una utilización incorrecta de identificadores con prefijo y puede producir que se creen elementos globales duplicados. Por ejemplo, A^X y B^X, pero se utilizan ambos más de una vez, produciendo dos elementos globales con el mismo nombre X.
Cualquier limitación de valor sin referencia se descarta con un mensaje de aviso BIP0158, BIP0159 o BIP0160.
Para cada archivo .mrp con el que se encuentra, se crea un nuevo proyecto de conjunto de mensajes con un nombre derivado del nombre y del nivel del conjunto de mensajes en la versión 2.1. Esto lo hace el programa de utilidad añadiendo un sufijo al nombre del conjunto de mensajes para todos los valores de Nivel que no sean "1". Este proceso restaura la correlación una a una y permite al intermediario buscar sólo un conjunto de mensajes con el nombre especificado.
Por ejemplo, un conjunto de mensajes de la versión 2.1 con el nombre "SWIFT" y Level "1", se migra en la versión 5.0 al nombre del conjunto de mensajes "SWIFT", mientras un conjunto de mensajes de la versión 2.1 con el nombre "SWIFT" y Level "2" se migra en la versión 5.0 a "SWIFT_2"
Se crea un único archivo de definición de mensajes .mxsd en el conjunto de mensajes con el mismo nombre que el conjunto de mensajes y en el espacio de nombres (sin destino) por omisión, a menos que esté presente el parámetro -part.
En la versión 2.1, todos los elementos y tipos compuestos eran globales. En la versión 5.0 los elementos y tipos complejos pueden ser globales o locales. Cuando migra un conjunto de mensajes de la versión 2.1, encontrará probablemente que muchos elementos y tipos compuestos que eran globales en la versión 2.1 se han convertido a elementos locales y tipos complejos en la versión 5.0, según las normas indicadas anteriormente.
Esto significa que el contenido del valor de un tipo compuesto puede ser cualquier objeto en el conjunto de mensajes, de conformidad con las normas de la propiedad Composición de tipo. Por lo general, en este caso, el tipo compuesto no se ha modelado con ningún contenido explícito.
Esto puede hacer que el mandato mqsimigratemsgsets deduzca incorrectamente que determinados elementos deben ser locales en lugar de globales. Si utiliza Open defined y encuentra que después de la migración se produce un error de validación de ejecución BIP5372E cuando esto antes no sucedía, vuelva a ejecutar el mandato mqsimigratemsgsets con la opción -g.
Los tipos simples intercalados dentro de los tipos compuestos necesitan un tratamiento especial, puesto que el modelo de esquema no puede hacerse cargo de esta construcción. Dado que los tipos simples intercalados se han dejado de utilizar, se recomienda encarecidamente que sustituya la utilización de tipos simples intercalados aprovechando el atributo 'mixto' del tipo complejo que contiene.
Los tipos simples intercalados se introdujeron principalmente para modelar un elemento XML complejo que contenía valores de datos entremezclados entre elementos dependientes. Cada valor de datos de este tipo lo modeló explícitamente un tipo simple intercalado, que actuaba de marcador de posición para el valor y también suministraba su tipo simple.
En el esquema XML, no hay equivalente exacto. Lo que más se aproxima es el uso del atributo 'mixto' de xsd:complexType. Sin embargo, esto sólo indica que el texto puede aparecer antes y entre (o entre) elementos dependientes. No implica nada respecto a la ubicación del tipo de datos del texto.
Para conservar esta semántica, se ha introducido una ampliación del esquema, denominada Tipo simple intercalado. Se trata simplemente de un elemento local sin nombre del tipo simple adecuado. El propio tipo es una limitación del tipo simple real subyacente, con un nombre especial (ComIbmMrm_Anon inicial).
Esta situación produce un mensaje de aviso BIP0161 y requiere un tratamiento especial, puesto que el modelo de esquema no puede hacerse cargo de esta construcción 'compuesta'. Dado que los elementos compuestos se han dejado de utilizar, se recomienda encarecidamente sustituir el uso de elementos compuestos por el uso de elementos normales que hagan referencia al xsd:complexType global descrito en 1 y sacar partido del atributo 'mixto'.
Estos tipos complejos se introdujeron principalmente para modelar un elemento XML complejo que contenía valores de datos así como elementos dependientes. Por lo tanto, un elemento de tipo complejo como este tiene ambos contenidos complejos como un elemento simple, pero también tiene un valor como un elemento simple (la información de tipo base MRM).
En el esquema XML, no hay equivalente exacto. Lo que más se aproxima es el uso del atributo 'mixto' del xsd:complexType. Pero esto indica que el texto puede aparecer antes y entre (o entre) elementos dependientes. No implica nada respecto a la ubicación del tipo de datos del texto.
Para cada elemento que ha hecho referencia al tipo compuesto se crea un elemento compuesto. Cabe observar que esto puede hacerse sólo si el elemento era además miembro de otro tipo compuesto.
La combinación de estas dos cosas significa que se mantiene el uso significativo de estos tipos compuestos puesto que la información del tipo base MRM sólo se pierde cuando nunca se utilizó de forma activa en un mensaje.
Los tipos de datos especiales creados por las situaciones descritas en las secciones anteriores, ComIbmMrm iniciales se definen en un esquema XML denominado .wmq21.mxsd, que se incluye en cada archivo de definición de mensajes creado por el mandato mqsimigratemsgsets.
Tipo MRM | Tipo de esquema |
---|---|
BINARY | xsd:hexBinary |
BOOLEAN | xsd:boolean |
DECIMAL | xsd:decimal |
DATETIME | xsd:dateTime (véase también la tabla siguiente) |
FLOAT | xsd:float |
INTEGER | xsd:int |
STRING | xsd:string |
Plantilla de fecha DATETIME MRM | Tipo de esquema |
---|---|
CCYY-MM-DDThh:mm:ss.s | xsd:dateTime |
CCYY-MM-DD | xsd:date |
CCYY-MM | xsd:gYearMonth |
CCYY | xsd:gYear |
--MM-DD | xsd:gMonthDay |
--MM | xsd:gMonth |
---DD | xsd:gDay |
Thh:mm:ss.s | xsd:time |
Si la plantilla de fecha no está en la lista anterior, DATETIME se se correlaciona con xsd:time o xsd:dateTime con un mensaje de aviso BIP0175 que depende de si la Plantilla de fecha tenía sólo el componente de hora. Sin embargo, cabe observar que esta correlación puede hacer que aparezcan errores en la lista de tareas después de la importación.
Si el elemento implicado tenía también las limitaciones de valor Valor por omisión, Mín Inclusive, Máx Inclusive o Enumeración de la versión 2.1, dichos valores no coinciden con el espacio léxico para xsd:time o xsd:dateTime y, por consiguiente, la validación no se ejecuta correctamente. Se deben corregir manualmente mediante el editor.
El mismo error de lista de tareas también aparece para el tipo DATETIME que ha suministrado una limitación Valor por omisión, Mín Inclusive, Máx Inclusive o Valor de enumeración donde el valor no se ha especificado completamente. Por ejemplo, se ha permitido la plantilla de fecha 'CCYY-MM', Enumeración '2003' en la versión 2.1, puesto que se ha interpretado como '2003-01' durante la ejecución. Sin embargo, en el nuevo modelo el valor debe coincidir con el espacio léxico del tipo simple y, por consiguiente, debe incluir el '-01'.
Conceptos relacionados
Conceptos de diseño de mensajes
Tareas relacionadas
Migración de un conjunto de mensajes
Referencia relacionada
Mandato mqsimigratemsgsets
Avisos |
Marcas registradas |
Descargas |
Biblioteca |
Soporte |
Información de retorno (feedback)
![]() ![]() |
ad15750_ |