Descrição do Problema: A Conversão XML Compilada do Enterprise Service Tools para o IBMR Rational Developer para System z para tempos de execução CICSR, IMS e de Lote em cenários crescentes e intermediários pode ser encerrada com um código de retorno de 280 a 303. A mensagem do Ambiente de LinguagemR retornada pelo conversor está desatualizada ou o texto "Falha ao Obter a Mensagem de Exceção" é exibido no log do sistema ou no console.
Solução: A Conversão XML Compilada em COBOL do Rational Developer para System z aprimorou a verificação de erros que pode emitir números de mensagem atualizados de IGZ0280S a IGZ0298S e novos números de mensagem de IGZ0299S a IGZ0303S. Aplique o PTF para o APAR PK65058.
Os cenários de serviços da Web para o CICS possuem suporte para um nível de mapeamento e nível de tempo de execução adicionais (2.2). Para utilizar os artefatos gerados neste nível, é necessário o CICS TS 3.2 com a APAR PK69738 aplicada.
No tópico: Tipos XML Derivados do PL/I - Tabela 6 - Tipo PL/I para XML há um erro e deve ser ignorado.
Problema: O assistente do Enterprise Service Tools é interrompido quando os copybooks necessários não são resolvidos. Isso acontece quando o idioma de mensagens de erro na página de preferências do importador COBOL está configurado como algo diferente de en_US.
Solução: Altere o idioma de mensagens de erro selecionando:
Janela -> Preferências -> Importador -> COBOL -> Guia Mais Opções COBOL
Problema: No cenário de desenvolvimento intermediário, a importação de um Sistema de Arquivo... no assistente Importar Arquivos de Origem não é suportada.
Solução alternativa: Copie todos os arquivos necessários em um projeto geral e depois importe-os selecionando Espaço de Trabalho... no assistente Importar Arquivos de Origem.
Problema: No cenário de desenvolvimento crescente, a utilização de uma versão mais antiga de WSDL/XSDs gerados com conversores recém-gerados pode causar erros no tempo de execução. Por exemplo, a seguinte mensagem de erro de tempo de execução pode ocorrer: IGZ0282S - A conversão da estrutura XML em dados não pôde ser concluída no programa "PGMNAME", porque nenhum nome de elemento no documento XML foi reconhecido pelo conversor.
Solução: Os WSDL/XSDs gerados com um conversor sempre devem estar acoplados com os conversores.
Tipo COBOL | Propriedades COBOLUsageValue+ COBOL ModelType | Tipo XSD Correspondente |
---|---|---|
packed-decimal, comp-3 -> packedDecimal | packedDecimal | Se ponto decimal for especificado: <xsd:simpleType> <xsd:restriction base="xsd:decimal"> <xsd:minInclusive value="xx.x"/> <xsd:maxInclusive value="yy.y"/> </xsd:restriction> </xsd:simpleType> ou se ponto decimal não for especificado: <xsd:simpleType> <xsd:restriction base="xsd:short"> <xsd:minInclusive value="xxx"/> <xsd:maxInclusive value="yyy"/> </xsd:restriction> </xsd:simpleType> |
Problema: Em um projeto do Enterprise Service Tools, se você estiver executando um cenário Criar Nova Implementação de Serviço (decrescente) ou Mapear para uma Interface de Serviço Existente (intermediário), com o arquivo WSDL (que foi importado originalmente de um local remoto) que inclui, importa ou redefine um esquema, isso falharia com um erro.
Solução Alternativa: Copie todos os arquivos necessários na estação de trabalho ou em um projeto geral no espaço de trabalho e importe o arquivo WSDL local em "Serviços da Web para Projeto CICS" utilizando RMB -> Importar -> Arquivos de Origem e tente o cenário decrescente.
Embora o compilador COBOL da estação de trabalho suporte instruções PARSE XML no tempo de compilação e no tempo de execução, os programas COBOL gerados pelos assistentes de serviço único são projetados para execução apenas no ambiente do z/OS.
Problema: O conversor de XML para a estrutura de linguagem retorna a seguinte mensagem de exceção:
IGZ0291S A conversão da estrutura XML em dados não pôde ser concluída no programa nome do programa, porque foi excedido o máximo de profundidade de aninhamento do elemento XML. O erro ocorreu no elemento nome de elemento com o conteúdo de caractere conteúdo do caractere.
Solução Alternativa: O conversor de XML para a estrutura de linguagem não poderia tratar da profundidade de aninhamento de um elemento XML específico. Apesar de existir uma concessão para níveis de aninhamento além da estrutura original do COBOL, ela pode ser excedida. Se existir um elemento em um documento XML de pedido que não esteja no esquema, o elemento causará essa condição se seu nível de aninhamento for muito profundo.
Problema: Grupos sem nomes e seus itens básicos não estão disponíveis para seleção na página de seleção da estrutura de dados ou no editor da sessão de mapeamento porque o item-pai foi filtrado para fora com seus itens básicos.
Solução Alternativa: Edite a estrutura de dados COBOL e atribua nomes aos grupos e/ou itens de dados de base que necessitam de conversão. Dar um nome ao grupo COBOL disponibiliza seus itens básicos não preenchidos para seleção.
Problema: A opção do compilador OPT na instrução PROCESS gerada no driver e nos programas conversores entrará em conflito com a opção TEST se você especificá-la como a opção de compilação em seu JCL.
Solução alternativa: Se você quiser depurar os programas gerados do conversor de XML, cancele a seleção da caixa de opções "Otimização" no grupo "Especificar Preferências Relacionadas ao Compilador" da página "Opções de Geração" no assistente de serviço da Web.
Problema: Se um item de dados COBOL for ou contiver um item ODO, você não poderá executar uma ação "Match Mapping" com uma estrutura XML compatível, a menos que mapeie manualmente o objeto ODO antes de tentar a ação Match Mapping.
Solução Alternativa: Antes de tentar a ação Match Mapping, mapeie manualmente o objeto ODO de acordo com as regras de mapeamento(no documento XML, o elemento mapeado para o item de objeto ODO do COBOL deve aparecer antes do elemento XML que é mapeado ao assunto ODO correspondente do COBOL).
Problema: As entradas do nome do arquivo e da pasta fazem distinção entre maiúsculas e minúsculas no Eclipse no WindowsR.
Solução Alternativa: Assegure-se de que você tenha digitado os nomes de pasta e de arquivo de forma consistente. Por exemplo, se seu nome de pasta mostrar MyFolder no Workbench, você deve digitar MyFolder em um campo de entrada que pede um nome de pasta. Se você digitar myfolder, por exemplo, as ferramentas podem sinalizar isso como um nome de pasta inválido ou não-existente.
Problema: Fornecer ponteiros inválidos não nulos para conversores ou drivers XML causa um loop infinito.
Solução Alternativa: Os conversores XML tentam detectar e relatar ponteiros nulos transmitidos pelo responsável pela chamada. Para ponteiros inválidos não nulos, os Conversores XML provavelmente irão encontrar e retornar uma exceção de proteção (SOC4).
O suporte para itens de dados DBCS nos projetos de serviço único do Enterprise Service Tools exige que os documentos XML de pedido e de resposta sejam codificados em UTF-16 ou UTF-8. Se o tempo de execução de destino do serviço da Web for SOAP para CICS, configure o recurso para trocar o XML em UTF-8 ou UTF-16 pelo Driver do Conversor XML. O tempo de execução de Serviços da Web para o CICS trocará o XML em UTF-8 por um cliente por padrão, enquanto o Driver do Conversor XML troca o XML pelo CICS em UTF-16; quando UNICODE é necessário, o UTF-16 é a opção mais eficiente atualmente para os Conversores XML. Para qualquer dos tempos de execução, poderá ser necessário configurar o suporte do z/OS para UNICODE com uma imagem de conversão que suporte conversão entre UNICODE e a página de código do host DBCS.
Problema: O item de menu Gerar -> Arquivo XML... não aceita restrições do esquema XSD. O uso da ação Gerar Arquivo XML em um XSD criado pelo Enterprise Service Tools pode levar à geração de arquivos XML inválidos.
Solução Alternativa: Editar o arquivo XML gerado de forma que o conteúdo da tag fique de acordo com as restrições especificadas no esquema XSD.
Problema: Entradas inválidas nos arquivos XML opcionais (Container.xml, PlatformProperties.xml, ServicesSpecification.xml) podem causar exceções de ponteiro nulo durante a execução do processador de batch.
Solução Alternativa: Siga o formato para especificar corretamente as entradas nos arquivos XML opcionais.
O local dos arquivos de entrada COBOL pode ser especificado no atributo "importDirectory" como um caminho absoluto, iniciando com a especificação da unidade (por exemplo, C:\mypath\test).
Por exemplo, suponha ter um projeto com os seguintes diretórios:
C:\workspace\account_details |
-- projeto principal |
C:\workspace\account_details\cobol_src |
-- subdiretório com arquivos de origem COBOL a serem importados |
C:\workspace\account_details\xsebatch_config |
-- subdiretório com arquivos de configuração XML para xsebatch |
Em seguida, você poderia utilizar o elemento InputOutputMessage a seguir para um arquivo de origem COBOL chamado DFH0ACTD.cbl no diretório cobol_src:
<InputOutputMessage importFile="../cobol_src/DFH0ACTD.cbl"></InputOutputMessage>
Alternativamente, é possível colocar os arquivos de origem COBOL no mesmo diretório, a partir do qual xsebatch é chamado
Mesmo que os nomes de dados COBOL não façam distinção entre maiúsculas e minúsculas, é preciso especificar maiúsculas e minúsculas exatas nos arquivos xml de especificação. Por exemplo, se na origem de dados COBOL, o nome dos dados for chamado MY-Data, na especificação xml Service o atributo nativeTypeName deverá ser definido como nativeTypeName="MY-Data". Se você não especificar maiúsculas e minúsculas exatas, o nome dos dados não será localizado e o primeiro nome de dados de nível 01 disponível será utilizado por padrão.
Constantes figurativas LOW-VALUE(S) e HIGH-VALUE(S) podem ser apresentadas em estruturas de dados COBOL utilizadas nos assistentes de serviço único, mas seus significados semânticos são ignorados pelos assistentes de serviço único e não são carregados nos artefatos gerados por estes assistentes de serviço único do Enterprise Service Tools
Problema: Utilizar caracteres da página de códigos GB18030 no nome de um projeto de serviço único do Enterprise Service Tools provoca erros ao executar um assistente de serviço único do Enterprise Service Tools em arquivos no projeto.
Solução alternativa: Não utilizar caracteres GB18030 ao nomear um projeto de serviço único do Enterprise Service Tools.
Problema: Após executar um assistente de serviço único do Enterprise Service Tools, algumas vezes você pode observar que os arquivos temporários (por exemplo, ~DF45B.tmp) são deixados na pasta do projeto de serviço único do Enterprise Service Tools.
Solução alternativa: Se você observar arquivos com nomes semelhantes em seu projeto de serviço único do Enterprise Service Tools após executar um assistente de serviço único do Enterprise Service Tools, pode-se excluir tais arquivos com segurança.
Problema: Enquanto um assistente de serviço único do Enterprise Service Tools está em execução, algumas vezes você pode observar que um projeto temporário (por exemplo, ESTProject ou ESTProjectN, em que N=1,2,3....) aparece momentaneamente na visualização Explorador de Projetos EST durante a geração WSDL. A exibição deste projeto pode deslocar momentaneamente as pastas de outros projetos no Explorador de Projetos EST. Algumas vezes, quando há erros, ou quando o ambiente de trabalho é fechado durante a geração WSDL, estes projetos temporários são deixados no Explorador de Projetos EST.
Solução alternativa: Se você observar projetos com nomes semelhantes em seu espaço de trabalho após a execução de um assistente de serviço único do Enterprise Service Tools, pode-se excluir esses projetos com segurança.
Problema: O processo de migração para os arquivos de mapeamento antigos exige que os arquivos de origem mapeados referidos estejam na mesma pasta do arquivo de mapeamento. Se esse requisito não for atendido, a ferramenta de migração de mapeamento falhará com a seguinte mensagem de erro: "Recurso ......[nome do arquivo].mapping não é local".
Solução Alternativa: Mova os arquivos de origem referidos na mesma pasta do arquivo de mapeamento que está sendo migrada.
Problema: A navegação para um local remoto para uma pasta de destino (pasta Conversor, pasta WSDL ou WSBIND) nas páginas do assistente de serviço da Web pode demorar muito ou travar o workbench quando o nome da conexão for longo (como ctfmvs08.rtp.raleigh.ibm.com)
Solução Alternativa: Renomeie o nome da conexão para algo mais reduzido, como ctfmvs08.
Problema: Os nomes de elemento raiz de mensagem de serviço da Web nos esquemas XML gerados pela geração padrão da conversão XML Compilada e Interpretativa não correspondem. Você pode precisar alterar o padrão de geração da conversão de XML Compilada para que corresponda com o caso de conversão Interpretativa, conforme descrito a seguir na seção Solução Alternativa. Isso permitirá alterar o tipo de conversão de interpretativa para compilada, se necessário posteriormente, sem ter de republicar o arquivo WSDL e sem alterar o código em clientes do serviço da Web.
Solução Alternativa: Ao gerar os artefatos para conversão XML Compilada, você pode utilizar o assistente para alterar o nome do elemento raiz para corresponder à conversão XML Interpretativa. Esta nova opção, chamada de "Nome do elemento-raiz", está localizada em:
Grupos Página GenerationOptions -> Guia de Opções WSDL e XSD -> Especificar propriedades do Esquema XML de pedido e resposta.
Por exemplo, o grupo COBOL denominado A-B-C fará com que os artefatos de conversão Interpretativa tenham o nome de elemento raiz de mensagem "a_b_c". Os artefatos de conversão Compilada padrão terão o nome de elemento raiz "ABC". Conforme descrito anteriormente, você pode alterar "ABC" no assistente para "a_b_c" para correspondência com o WSDLgenerated gerado para a conversão interpretativa.
Problema: Caracteres DBCS não são permitidos nos nomes de membros do Conjunto de Dados Particionado no z/OS.
Solução alternativa: Omita os caracteres DBCS ao especificar o nome dos arquivos do conversor XML. Além disso, verifique se os nomes de arquivo padrão sugeridos pelo Assistente não contêm caracteres DBCS.