Descripción de problema: la conversión de XML compilado de Herramientas de servicio de empresa de IBMR Rational Developer for System z para tiempos de ejecución CICSR, IMS y de proceso por lotes en los casos prácticos de abajo arriba e intermedio puede terminar con un código de retorno de 280 a 303. O bien el mensaje de Language EnvironmentR devuelto por el conversor está desactualizado, o bien el texto "No se ha podido obtener el mensaje de excepción" se muestra en las anotaciones del sistema en o la consola.
Solución: La conversión XML compilada de COBOL de Rational Developer for System z ha mejorado la comprobación de errores que puede emitir los números de mensaje actualizados de IGZ0280S a IGZ0298S y los números de mensaje nuevos de IGZ0299S a IGZ0303S. Aplicar el PTF para APAR PK65058.
Los servicios web para casos de ejemplo CICS tienen soporte para un nivel de correlación adicional y un nivel de tiempo de ejecución (2.2). Para utilizar los artefactos generados en este nivel, necesita CICS TS 3.2 con el APAR PK69738 aplicado.
En el tema: Tipos XML derivados de PL/I - Tabla 6 - PL/I a tipo XML e erróneo y debe omitirse.
Problema: el asistente Herramientas de servicio de empresa se cuelga cuando no se resuelven los copybooks necesarios. Esto ocurre cuando el idioma de los mensajes de error en la página de preferencias del importador COBOL se establece en un valor que no sea en_US.
Solución: Cambie el Idioma de mensajes de error seleccionando:
Ventana -> Preferencias -> Importador -> COBOL -> pestaña Más opciones de COBOL
Problema: en el caso de ejemplo de desarrollo intermedio, la importación de un Sistema de archivos... en el asistente Importar archivos fuente no está soportada.
Solución provisional: copie todos los archivos necesarios en un proyecto general e impórtelos seleccionando Espacio de trabajo... en el asistente Importar archivos fuente.
Problema: en el caso de ejemplo de desarrollo de abajo arriba, al utilizar una versión más antigua de archivos WSDL/XSD generados con conversores recién generados pueden producirse errores en tiempo de ejecución. Por ejemplo, puede emitirse el mensaje de error de tiempo de ejecución siguiente: IGZ0282S No se ha podido realizar la conversión de XML a estructura de datos en el programa "PGMNAME" porque el conversor no ha reconocido ningún nombre de elemento en el documento XML.
Solución: los WSDL/XSD generados con un conversor siempre deben estar acoplados con los conversores.
Tipo COBOL | Propiedades COBOLUsageValue+ COBOL ModelType | Tipo XSD correspondiente |
---|---|---|
packed-decimal, comp-3 -> packedDecimal | packedDecimal | Si se especifica la coma decimal: <xsd:simpleType> <xsd:restriction base="xsd:decimal"> <xsd:minInclusive value="xx.x"/> <xsd:maxInclusive value="yy.y"/> </xsd:restriction> </xsd:simpleType> o, si no se especifica la coma decimal: <xsd:simpleType> <xsd:restriction base="xsd:short"> <xsd:minInclusive value="xxx"/> <xsd:maxInclusive value="yyy"/> </xsd:restriction> </xsd:simpleType> |
Problema: en un proyecto de Herramientas de servicio de empresa, si ejecuta el caso de ejemplo (de arriba abajo) Crear nueva implementación de servicio, con el archivo WSDL (importado originalmente de una ubicación remota) que incluye, importa o redefine un esquema, el caso de ejemplo fallaría con un error.
Solución provisional: copie todos los archivos necesarios en la estación de trabajo o en un proyecto general del espacio de trabajo e importe el archivo WSDL local al "proyecto de servicios Web para CICS" utilizando RMB -> Importar -> Archivos fuente y pruebe con el caso de ejemplo de arriba abajo.
El compilador COBOL de estación de trabajo admite las sentencias XML PARSE tanto en tiempo de compilación como en tiempo de ejecución, pero los programas COBOL generados por los asistentes de servicio único solo se pueden ejecutar en el entorno z/OS.
Problema: el conversor de XML a estructura de lenguaje devuelve el mensaje de excepción siguiente:
IGZ0291S La conversión de XML a estructura de datos no se ha podido realizar en el programa nombre-programa porque se ha sobrepasado la profundidad de anidación máxima de elementos XML. Se ha producido un error en el elemento nombre-elemento con el contenido de caracteres contenido-caracteres.
Solución provisional: el conversor de XML a estructura de lenguaje no ha podido manejar la profundidad de anidación de un elemento XML determinado. Aunque no existe ningún margen establecido para la anidación de niveles más allá del de la estructura COBOL original, es posible sobrepasar un límite. Si existe un elemento en un documento XML de petición que no se encuentra en el esquema, dicho elemento provocará esta condición si el nivel de anidación es muy profundo.
Problema: los grupos sin nombre y sus elementos elementales no se pueden seleccionar en la página de selección de estructuras de datos o en el editor de la sesión de correlación, porque el elemento padre se ha filtrado junto con sus elementos elementales.
Solución provisional: edite la estructura de datos COBOL y dé nombres a los grupos y/o elementos de datos elementales que requieran conversión. Al dar un nombre a un grupo COBOL, sus elementos elementales no de relleno pasan a estar disponibles para selección.
Problema: la opción de compilador OPT de la sentencia PROCESS generada en los programas de controlador y conversor entrará en conflicto con la opción TEST si la especifica como opción de compilación en el JCL.
Solución provisional: si desea depurar los programas de conversor XML generados, quite la marca del recuadro de selección "Optimización" en el grupo "Especificar preferencias relacionadas con el compilador" de la página "Opciones de generación" del asistente Servicios Web.
Problema: si un elemento de datos COBOL es, o contiene, un elemento ODO, no puede realizar una acción "Emparejar Correlación" con una estructura XML compatible, a menos que correlacione manualmente el objeto ODO antes de intentar la acción Emparejar Correlación.
Solución provisional: antes de intentar la acción Emparejar Correlación, debe correlacionar manualmente el objeto ODO de acuerdo con las reglas de correlación. (En el documento XML, el elemento correlacionado con el elemento del objeto ODO de COBOL debe aparecer antes del elemento XML correlacionado con el correspondiente sujeto ODO de COBOL).
Problema: las entradas de nombre de carpeta y archivo son sensibles a las mayúsculas/minúsculas en Eclipse en WindowsR.
Solución provisional: asegúrese de que especifica de manera coherente los nombres de carpeta y archivo. Por ejemplo, si el nombre de carpeta muestra MiCarpeta en el entorno de trabajo, deberá teclear MiCarpeta en un campo de entrada que solicite el nombre de la carpeta. Si teclea, por ejemplo, micarpeta, las herramientas pueden indicar que se trata de un nombre de carpeta no válido o inexistente.
Problema: al proporcionar punteros no nulos no válidos a los controladores o conversores XML se provoca un bucle infinito.
Solución provisional: los conversores XML intentan detectar y notificar los punteros nulos pasados por el llamador. En el caso de los punteros no nulos no válidos, es probable que los conversores XML encuentre y devuelvan una excepción de protección (SOC4).
En los proyectos de servicio único de Herramientas de servicio de empresa, el soporte de elementos de datos DBCS exige que los documentos XML de petición y respuesta estén codificados en UTF-16 o UTF-8. Si el entorno de tiempo de ejecución destino del servicio Web es SOAP para CICS, configure la característica para cambiar XML en UTF-8 o UTF-16 con el controlador del conversor XML. El entorno de tiempo de ejecución de servicios Web para CICS cambiará XML en UTF-8 con un cliente por defecto, mientras que el controlador del conversor XML cambia XML con CICS en UTF-16; cuando se necesita UNICODE, UTF-16 es actualmente la opción más eficaz para los conversores XML. Para cualquiera de los dos entornos de tiempo de ejecución, podría ser necesario configurar el soporte z/OS para UNICODE con una imagen de conversión que soporte la conversión entre UNICODE y la página de códigos de host DBCS.
Problema: el elemento de menú Generar -> Archivo XML... no respeta las restricciones de un esquema XSD. Al utilizar la acción Generar archivo XML en un XSD creado por las herramientas de servicio de empresa (EST) pueden generarse archivos XML no válidos.
Solución provisional: edite el archivo XML generado de modo que el contenido de los códigos esté en conformidad con las restricciones especificadas en el esquema XSD.
Problema: las entradas no válidas en los archivos XML de opciones (Container.xml, PlatformProperties.xml, ServicesSpecification.xml) pueden causar excepciones de puntero nulo durante la ejecución del procesador por lotes.
Solución provisional: ajústese al formato para especificar correctamente las entradas en los archivos XML de opciones.
La ubicación de los archivos de entrada COBOL se puede especificar en el atributo "importDirectory" como una vía de acceso absoluta, empezando por la especificación de la unidad (por ejemplo, C:\mypath\test).
Por ejemplo, suponga que tiene un proyecto con los siguientes directorios:
C:\workspace\account_details |
-- proyecto principal |
C:\workspace\account_details\cobol_src |
-- subdirectorio con archivos fuente COBOL a importar |
C:\workspace\account_details\xsebatch_config |
-- subdirectorio con archivos de configuración XML para xsebatch |
Puede utilizar el siguiente elemento InputOutputMessage para un archivo fuente COBOL denominado DFH0ACTD.cbl en el directorio cobol_src:
<InputOutputMessage importFile="../cobol_src/DFH0ACTD.cbl"></InputOutputMessage>
Otra posibilidad es colocar los archivos fuente COBOL en el mismo directorio desde el que se invoca xsebatch
Aunque los nombres de datos de COBOL no sean sensibles a las mayúsculas/minúsculas, deberá especificarlos exactamente como se escriben en los archivos XML de especificación. Por ejemplo, si en el origen de datos COBOL, el nombre de datos es MY-Data, en el xml de especificación de servicio, el atributo nativeTypeName debe establecerse en nativeTypeid="MY-Data". Si no se especifica exactamente tal como está escrito, el no se encontrará nombre de datos y se utilizará por defecto el primer nombre de datos de nivel 01 disponible.
Las constantes figurativas LOW-VALUE(S) y HIGH-VALUE(S) pueden estar presentes en las estructuras de datos COBOL empleadas en los asistentes de servicio único, pero estos asistentes ignoran el significado semántico, que no se transporta a los artefactos generados por estos asistentes de servicio único de Herramientas de servicio de empresa.
Problema: si se utilizan caracteres de la página de códigos GB18030 en un nombre de proyecto de servicio único de Herramientas de servicio de empresa, se producen errores al ejecutar un asistente de servicio único de Herramientas de servicio de empresa en los archivos del proyecto.
Solución provisional: no utilice caracteres GB18030 en los nombres de los proyectos de servicio único de Herramientas de servicio de empresa.
Problema: después de ejecutar un asistente de servicio único de Herramientas de servicio de empresa, observará que a veces los archivos temporales (por ejemplo, ~DF45B.tmp) se quedan en la carpeta del proyecto de servicio único de Herramientas de servicio de empresa.
Solución provisional: si ve que hay archivos con nombres similares en el proyecto de servicio único de Herramientas de servicio de empresa después de ejecutar un asistente de servicio único de Herramientas de servicio de empresa, puede suprimir los archivos sin problemas.
Problema: mientras se ejecuta un asistente de servicio único de Herramientas de servicio de empresa, observará que a veces un proyecto temporal (por ejemplo, ESTProject o ESTProjectN, siendo N=1,2,3...) aparece momentáneamente en la vista Explorador de proyectos EST durante la generación WSDL. La aparición de este proyecto puede desplazar momentáneamente las carpetas de los otros proyectos en el Explorador de proyectos EST. Algunas veces, cuando hay errores o cuando el entorno de trabajo se cierra durante la generación WSDL, estos proyectos temporales se quedan en el Explorador de proyectos EST.
Solución provisional: si ve que hay proyectos con nombres similares en el espacio de trabajo después de ejecutar el asistente de servicio único de Herramientas de servicio de empresa, puede suprimir esos proyectos sin peligro.
Problema: el proceso de migración de los archivos de correlación antiguos exige que los archivos fuente correlacionados a los que se haga referencia estén en la misma carpeta que el archivo de correlación. Si este requisito no se cumple, la herramienta de migración de correlación fallará con el siguiente mensaje de error: "El recurso ......[nombre-archivo].mapping no es local".
Solución provisional: traslade los archivos fuente a los que se haga referencia a la misma carpeta que el archivo de correlación que se está migrando.
Problema: la operación de navegar hasta una ubicación remota de una carpeta destino (carpeta de conversor, WSDL o WSBIND) en las páginas del asistente de servicios Web puede tardar mucho tiempo o bloquear el entorno de trabajo cuando el nombre de la conexión sea largo (como ctfmvs08.rtp.raleigh.ibm.com)
Solución provisional: cambie el nombre de la conexión por otro más corto, como ctfmvs08.
Problema: los nombres del elemento raíz de mensaje de servicio Web en los esquemas XML generados por la generación predeterminada de la conversión XML interpretativa y compilada no coinciden. Es posible que tenga que cambiar el valor predeterminado de generación de la conversión XML compilada para que coincida con las mayúsculas/minúsculas de la conversión interpretativa, como se describe más abajo en la solución provisional. Ello le permitirá cambiar más adelante el tipo de conversión de interpretativa a compilada si es necesario, sin que haga falta volver a publicar el archivo WSDL y sin cambiar el código en los clientes del servicio Web.
Solución provisional: al generar los artefactos para la conversión XML compilada, puede utilizar el asistente para cambiar el nombre del elemento raíz para que coincida con la conversión XML interpretativa. Esta opción nueva llamada "Nombre de elemento raíz" está ubicada en:
Página Opciones de generación -> pestaña Opciones WSDL y XSD -> grupos Especificar las propiedades del esquema XML de petición y respuesta.
Por ejemplo, el grupo COBOL llamado A-B-C hará que los artefactos de la conversión interpretativa tengan el nombre de elemento raíz de mensaje "a_b_c". Los artefactos predeterminados de la conversión compilada tendrán el nombre de elemento raíz "ABC". Como ya se ha descrito antes, puede cambiar "ABC" en el asistente por "a_b_c" para que coincida con el WSDLgenerated generado para la conversión interpretativa.
Problema: los caracteres DBCS (juego de caracteres de doble byte) no están permitidos en los nombres de los miembros de conjuntos de datos particionados (PDS) en z/OS.
Solución provisional: Omita los caracteres DBCS al especificar el nombre de los archivos de conversor XML. Además, compruebe que los nombres predeterminados de los archivos sugeridos por el asistente no contienen caracteres DBCS.