Ferramentas da Web - Notas sobre o Release


1.0 Limitações
   1.1 Problema com Arrastar e Soltar da Visualização Dados da Página para a Tabela de Layout Livre
   1.2 *Problema na Implementação de um Aplicativo da Web com SDO ao Acessar um Banco de Dados Utilizando uma Conexão do Gerenciador de Driver com um Servidor WebSphere V6
   1.3 *Método de Atualização para Lista de Registros Relacionais do SDO
2.0 Problemas Conhecidos
   2.1 *O SDO Assume os Números de Porta Padrão para a Conexão JDBC
   2.2 *wdo_web.jar Não Excluído ao Redestinar um Projeto da Web do WAS V5 para WAS V6
   2.3 *Mensagem de Erro Inválida em Geração Automática de Chave
   2.4 *O WAS Executado como Serviço Deve Ser Executado com o ID que Possui Acesso ao DB2
   2.5 *O Salvamento da Página JSP Pode Não Salvar Arquivos XML do SDO/WDO
   2.6 *Registro Relacional/Listas com Vários Filtros Podem Não Funcionar no Servidor WAS 6
   2.7 *Origens de Dados SDO Podem Não Ser Criadas se um Servidor Padrão Estiver Selecionado para o Projeto
   2.8 *A Ação Renomear Esquema para um Registro Relacional/Lista Não Atualiza o Nome Exclusivo do Esquema de Tabela de Chaves

1.0 Limitações

1.1 Problema com Arrastar e Soltar da Visualização Dados da Página para a Tabela de Layout Livre

Ao tentar arrastar e soltar da visualização Dados da Página para uma página que contém uma tabela de layout livre, o cursor NOT é mostrado, tornando impossível executar a ação arrastar e soltar.

Para executar uma ação arrastar e soltar da visualização Dados da Página, primeiro selecione 'Célula de Texto' na paleta e inclua uma Célula de Texto na Tabela de Layout Livre. Em seguida, execute a ação arrastar e soltar da visualização Dados da Página para a célula de texto.

1.2 *Problema na Implementação de um Aplicativo da Web com SDO ao Acessar um Banco de Dados Utilizando uma Conexão do Gerenciador de Driver com um Servidor WebSphere V6

Ao tentar implementar um aplicativo da Web (com o recurso SDO) que acessa um banco de dados relacional utilizando uma conexão do gerenciador de driver, os jars do driver não são incluídos automaticamente no caminho de classe do servidor. Isso causa erros ClassNotFound.

Atualmente, uma conexão de origem de dados é criada, por padrão, sempre que o aplicativo acessa os bancos de dados relacionais a seguir: Cloudscape, DB2, SQL Server & Oracle. Mas para qualquer outro banco de dados, notavelmente Informix e Sybase, uma conexão do gerenciador de driver é criada e o problema descrito acima ocorre.

Para que a conexão do gerenciador de driver funcione, você deve incluir manualmente os caminhos jar do driver no caminho de classe do servidor. Para fazer isso, execute o Console Admin do servidor e inclua as entradas de caminho de classe sob Servidores->Servidores de Aplicativos-><serverName>->Java e Gerenciamento de Processos->Definição de Processo->Java Virtual Machine->Caminho de Classe

Nota: Isso foi corrigido na V6.0.0.1.

1.3 *Método de Atualização para Lista de Registros Relacionais do SDO

Atualmente, o produto não gera um método de atualização com cada Lista de Dados Relacionais. A seguir está o código que você pode colocar em sua ação para atualizar o conteúdo de uma Lista de Dados denominada myList

try { getMyListMediator().applyChanges((DataObject)((ECoreEList)getMyList()).getEObject()); } catch (Throwable e) { logException(e); }

Nota: Isso foi corrigido na V6.0.0.1.

2.0 Problemas Conhecidos

2.1 *O SDO Assume os Números de Porta Padrão para a Conexão JDBC

Se o servidor JDBC estiver em execução em algum estado fora do padrão do fornecedor, será necessário modificar a conexão de tempo de execução do SDO quando ela for criada pela primeira vez.

Nota: Isso foi corrigido na V6.0.0.1.

2.2 *wdo_web.jar Não Excluído ao Redestinar um Projeto da Web do WAS V5 para o WAS V6

Quando um projeto da Web é redestinado de um servidor WAS V5 para um servidor WAS V6, às vezes o WEB-INF/lib/wdo_web.jar não é excluído. Isso não é válido em um servidor WAS V6 e pode causar problemas ao regenerar objetos do lado cliente em seu projeto da Web (se você seguiu as etapas na seção "Migrando Recursos do JavaServer Faces com Componentes Faces Client" do guia de migração).

Para evitar esses problemas, exclua esse arquivo JAR da pasta lib. Depois de excluí-lo, abra o arquivo web.xml para seu projeto da Web e remova a tag taglib que referencia esse arquivo JAR. Você pode removê-la da página Variáveis ou Origem do editor de Descritor de Implementação da Web. O URI para essa taglib é http://www.ibm.com/websphere/wdo/core. Em seguida, selecione o projeto da Web na visualização Explorador de Projetos e selecione Propriedades em seu menu pop-up. Depois, selecione Caminho de Construção Java e, na página Bibliotecas, remova todas as entradas do caminho de classe WDO_EMF_JARS_PATH/*.

Nota: Isso foi corrigido na V6.0.0.1.

2.3 *Mensagem de Erro Inválida em Geração Automática de Chave

Se você criar uma página JSP com um registro relacional que utiliza a Geração Automática de Chave destinada a um servidor V5.1, poderá receber o seguinte erro:

2 cvc-complex-type.2.4.d: Conteúdo inválido foi localizado ao iniciar com o elemento 'tables'. Nenhum elemento-filho é esperado neste ponto.

Essa mensagem de erro é inválida e pode ser ignorada.

Nota: Isso foi corrigido na V6.0.0.1.

2.4 *O WAS Executado como Serviço Deve Ser Executado com o ID que Possui Acesso ao DB2

Se você estiver executando o WebSphere Application Server como um serviço com a autenticação padrão (execução como usuário com login efetuado) e tentar conectar-se ao DB2 em um aplicativo da Web sem fornecer o nome do usuário e a senha, poderá receber o seguinte erro:

java.sql.SQLException: [IBM][CLI Driver] SQL0567N "SYSTEM" não é um ID de autorização válido. SQLSTATE=42602 DSRA0010E: Estado de SQL = 42602, Código de Erro = -567

Para evitar isso, forneça um ID do usuário e uma senha para o aplicativo ou defina o WAS para ser executado explicitamente (por exemplo, forneça o ID do usuário e a senha) como uma conta de usuário que tenha acesso à instalação do DB2.

Nota: Isso foi corrigido na V6.0.0.1.

2.5 *O Salvamento da Página JSP Pode Não Salvar Arquivos XML do SDO/WDO.

Se você fechar um JSP sujo (alterações não consolidadas) e salvar o JSP depois de ser avisado, as alterações não consolidadas nos arquivos de configuração do WDO/SDO podem não ser salvas.

Para evitar isso, depois de configurar um registro relacional ou lista de registros, certifique-se de salvar o JSP, pressionando CRTL+S ou clicando em Arquivo ->Salvar.

Nota: Isso foi corrigido na V6.0.0.1.

2.6 *Registro Relacional/Listas com Vários Filtros Podem Não Funcionar no Servidor WAS 6

Esse problema ocorre em aplicativos WDO que são criados para execução no servidor Websphere V51, mas que são migrados para execução no servidor Websphere V60. Nesse cenário, quando a página do faces possui um registro ou lista de registros com mais de uma cláusula de filtro, a página pode emitir a seguinte exceção quando estiver em execução no servidor:

java.lang.ArrayIndexOutOfBoundsException: 1 at org.eclipse.emf.ecore.impl.DynamicEObjectImpl.dynamicGet(DynamicEObjectImpl.java:192) at org.eclipse.emf.ecore.impl.EStructuralFeatureImpl$InternalSettingDelegateSingleData.dynamicGet(EStructuralFeatureImpl.java:1758) at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eDynamicGet(BasicEObjectImpl.java:485) at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eGet(BasicEObjectImpl.java:476)e at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eGet(BasicEObjectImpl.java(Compiled Code)) at com.ibm.etools.webtools.sdo.runtime.internal.MapDataObjectImpl.getValue(MapDataObjectImpl.java:197) at com.ibm.etools.webtools.sdo.runtime.internal.MapDataObjectImpl.put(MapDataObjectImpl.java:162) at pagecode.PageCodeBase.resolveParams(PageCodeBase.java:189)

O problema está no objeto de parâmetro do mediador.

Para corrigir esse problema, você deve definir corretamente o objeto de parâmetro do mediador. Para fazer isso, modifique o método getList ou getRecord

de:

public DataListAccessBean getList1() { if (list1 == null) { try { resolveParams(getList1Mediator().getParams(), list1ArgNames, list1ArgValues, "list1_params_cache"); DataGraphAccessBean graph = getList1Mediator().fetchGraph(); list1 = graph.getDataListAccessBean(); } catch (Throwable e) { logException(e); } } return list1; }


para:

public DataListAccessBean getList1() { if (list1 == null) { try { getList1Mediator().setParams( new MapDataObjectImpl(((EObject) new MediatorImpl( (Metadata) getList1Mediator().getMetadata(), new NullConnectionWrapper()) .getParameterDataObject()).eClass())); resolveParams(getList1Mediator().getParams(), list1ArgNames, list1ArgValues, "list1_params_cache"); DataGraphAccessBean graph = getList1Mediator().fetchGraph(); list1 = graph.getDataListAccessBean(); } catch (Throwable e) { logException(e); } } return list1; }

Observe o fragmento de código que define o objeto de parâmetro.

Nota: Isso foi corrigido na V6.0.0.1.

2.7 *Origens de Dados SDO Podem Não Ser Criadas se um Servidor Padrão Estiver Selecionado para o Projeto

As origens de dados não são configuradas corretamente no servidor durante Executar no Servidor, se um servidor padrão tiver sido selecionado. Para assegurar que a origem de dados seja configurada adequadamente, não selecione um servidor padrão. Depois que o aplicativo foi publicado com êxito, você pode selecionar um servidor padrão, contanto que não esteja fazendo alterações nas origens de dados.

Nota: Isso foi corrigido na V6.0.0.1.

2.8 *A Ação Renomear Esquema para um Registro Relacional/Lista Não Atualiza o Nome Exclusivo do Esquema de Tabela de Chaves

A ação renomear esquema para um registro/lista não atualiza o nome exclusivo do esquema de tabela de chaves.

Para solucionar esse problema, localize o arquivo xml que armazena a consulta para o registro/lista e atualize o nome exclusivo do esquema de tabela de chaves.

Nota: Isso foi corrigido na V6.0.0.1.

Retornar para o Arquivo Leia-me Principal