Ferramentas de Serviços da Web - Notas sobre o Release

1.0 Introdução
2.0 Software Suportados e Especificações
3.0 Alterações do Release Anterior
4.0 Problemas Conhecidos
   4.1 Web Services Explorer
   4.2 Registro de UDDI Privado
   4.3 Interoperabilidade com Tempo de Execução do IBM SOAP
   4.4 Gerando um Documento WSDL a partir de um Arquivo DADX
   4.5 Gerador JSP de Ferramentas da Web
   4.6 Utilizando o Universal Test Client
   4.7 Várias Saídas Permitidas em Determinados Casos com Serviços da Web DADX
   4.8 Preferência do Driver JDBC Deve Ser Utilizada Apenas no Linux
   4.9 Necessário Atualizar Arquivos de Exemplo DAD se o Extensor XML Não Estiver Instalado no Diretório Padrão
   4.10 Problemas de DADX dos Serviços da Web
   4.11 Suporte à Geração de DADX
   4.12 Erros de WSDL Depois de Importar um Arquivo de Serviços da Web do 4.0.x
   4.13 Problemas ao Utilizar a Linha de Comandos de Serviços da Web
   4.14 Criação de Serviço da Web sem um Servidor Existente
   4.15 Gerando Aplicativo de Amostra de Serviços da Web
   4.16 Importando Arquivos WSDL com Autenticação Básica HTTP
   4.17 Problemas com a Utilização do Tempo de Execução do WebSphere v5.0.2
   4.18 Configurando um Grupo DADX com Informações do Datasource
   4.19 Carregando o Localizador de Cliente Utilizando o Universal Test Client
   4.20 Preferências de Recursos Não Observadas
   4.21 Problemas com a Utilização do Tempo de Execução do Apache Axis 1.0
   4.22 JSP de Amostra de Serviço da Web Falhou ao Ser Compilado
   4.23 Problema com a Linha de Comandos de Serviços da Web em Alemão
   4.24 Erro com Host Local Não Definido
   4.25 Limitações Permanentes ao Utilizar o Tempo de Execução do IBM SOAP
   4.26 Serviço e Cliente da Web Utilizando Tempo de Execução Diferente
   4.27 Clicando em Finish no Assistente Web service client
   4.28 Folha de Macetes de Serviços da Web

1.0 Introdução

O recurso ferramentas de serviços da Web permite descobrir, criar e publicar Java bean, DADX, bean corporativo e serviços da Web da URL. Esse arquivo readme descreve problemas conhecidos, limitações e soluções alternativas associados às seguintes funções das ferramentas de serviço da Web:

2.0 Software Suportado e Especificações

O Web Services Explorer suporta os seguintes navegadores da Web:

Esse release das ferramentas de serviço da Web gera o código que obedece às seguintes especificações:

Esse release das ferramentas de serviço da Web suporta:

Se você estiver ativando o ambiente de testes WORF fora do workbench utilizando o Mozilla, recomenda-se uma versão do Mozilla de pelo menos 1.3.1. A saída da chamada do serviço da Web, bem como arquivos de descrição, podem não ser apresentados corretamente em versões anteriores do navegador Mozilla.

O tempo de execução do DADX requer fixpack 6 ou superior do DB2 7.2 ou DB2 8.1 ou superior.

3.0 Alterações do Release Anterior

Os recursos a seguir são novos nas ferramentas de serviços da Web na v5.1:

4.0 Problemas Conhecidos

4.1 Web Services Explorer

4.2 Private UDDI Registry

4.3 Interoperabilidade com Tempo de Execução do IBM SOAP

4.4 Gerando um Documento WSDL a partir de um Arquivo DADX

4.5 Gerador JSP de Ferramentas da Web

Ao lançar o Universal Test Client do assistente para Web Services, o URL do Provedor JNDI é definida para a porta padrão do WebSphere v5 2809. Se estiver utilizando um servidor WebSphere v4 ou se tiver alterado o número da porta, não será possível pesquisar o diretório JNDI. Se você tentar acessar o diretório JNDI, você obterá o seguinte erro:

IWAD0403E Could not construct the JNDI tree: Caught CORBA.COMM_FAILURE when resolving initial reference=WsnNameService

A solução alternativa é:

  1. Dê um clique duplo no servidor que está utilizando. Isso tornará visível as propriedades do servidor.
  2. Selecione a guia ports.
  3. Copie a porta Orb bootstrap.
  4. Abra a janela de propriedades JNDI no Universal Test Client.
  5. Cole a porta bootstrap na caixa de entrada de texto Provider URL.

4.7 Várias Saídas Permitidas em Determinados Casos com Serviços da Web DADX

Normalmente, a existência de várias saídas em um serviço da Web não é suportada por nossas ferramentas. Entretanto, no caso dos serviços da Web DADX, várias saídas são permitidas se Use Document Style group property for definida para true. Neste caso, quando document style é true, várias saídas são combinadas em um único documento XML.

4.8 Preferência do Driver JDBC Deve Ser Utilizada Somente no Linux

Uma nova categoria de Preferências dos serviços da Web (Windows > Preferences > Web Services) denominada JDBC drivers foi incluída. Embora esta preferência esteja disponível em todas as plataformas, ela deve ser utilizada apenas no Linux. No Linux, pode ser difícil determinar a localização do arquivo JAR contendo drivers JDBC. Portanto, esta página de preferência foi incluída para que você possa especificar qual arquivo JAR deve ser utilizado. Atualmente, apenas o código de validação DADX utiliza estas informações de arquivo JAR.

4.9 Necessário Atualizar os Arquivos de Exemplo DAD se o Extensor XML Não Estiver Instalado no Diretório Padrão

Os arquivos DAD localizados no diretório WSinstall_dir\wstools\eclipse\plugins\com.ibm.etools.webservice_<version>\samples\DADX_examples podem precisar de modificações em dois locais para refletir sua configuração de sistema específica.

Próximo ao início do arquivo há uma linha semelhante a esta:

<!DOCTYPE DAD SYSTEM "c:\dxx\dtd\dad.dtd">

Se o extensor XML tiver sido carregado em uma localização diferente de c:\dxx , esta cadeia precisa ser atualizada para refletir a localização atual. Isto aplica-se a máquinas Linux também, onde a localização é geralmente /usr/IBMdb2xml.

4.10 Problemas de Serviços da Web DADX

4.11 Suporte à Geração de DADX

Embora funções definidas pelo usuário sejam listadas no assistente Generate DADX, não existe atualmente suporte para gerar DADX a partir de funções definidas pelo usuário. Somente está disponível suporte para geração de DADX a partir de arquivos DAD, procedimentos armazenados e instruções SQL. A seleção de uma função definida pelo usuário fará com que seja gerado um arquivo de esqueleto DADX simples.

4.12 Erros de WSDL Depois de Importar um Arquivo de Serviços da Web da 4.0.x

Se você importou um arquivo de serviços da Web do 4.0.x, é possível que você receba as seguintes mensagens de erro:

Error The part 'result' has an invalid value 'anyElement' defined for its type. Type declarations must refer to valid values defined in a schema.

Error The part 'return' has an invalid value 'findPatientResult' defined for its element. Element declarations must refer to valid values defined in a schema.

Error The part 'response' has an invalid value 'findPatientResponse' defined for its element. Element declarations must refer to valid values defined in a schema.

A solução alternativa é:

  1. Excluir os arquivos do WSDL.
  2. Gerar seus serviços da Web novamente, re-executando o assistente Web Services.

4.13 Problemas ao Utilizar a Linha de Comandos de Serviços da Web

4.14 Criação de Serviço da Web sem um Servidor Existente

4.15 Gerando Aplicativo de Amostra de Serviços da Web

4.16 Importando Arquivos WSDL com Autenticação Básica HTTP

Ao gerar esqueletos ou clientes de um arquivo WSDL que possui importações relativas e é protegido por HTTP Basic Authentication, o usuário verá uma mensagem de erro indicando que o arquivo WSDL não pode ser resolvido mesmo se o ID do usuário e a senha corretos forem inseridos. O problema é que o ID do usuário e a senha apenas são utilizados para recuperar o arquivo WSDL original e não os arquivos importados.

Para superar esse problema, o usuário pode fazer download do arquivo WSDL e de todos os arquivos que ele importa primeiro para o workbench e, em seguida, gerar o esqueleto ou o cliente a partir do arquivo WSDL.

4.17 Problemas com a Utilização do Tempo de Execução do WebSphere v5.0.2

4.18 Configurando um Grupo DADX com Informações do Datasource

Se o WebSphere Application Server V5.0 estiver sendo utilizado para acomodar um serviço da Web DADX, então, o arquivo group.properties para o grupo DADX deverá utilizar a seguinte propriedade initialContextFactory:

initialContextFactory=com.ibm.websphere.naming.WsnInitialContextFactory

Além disso, o arquivo web.xml do projeto que contém o grupo DADX precisa ter adicionado o seguinte: (Supondo que o nome JNDI do DataSource é jdbc/hospital.)

       <resource-ref id="ResourceRef_1058550453092">
              <res-ref-name>jdbc/hospital</res-ref-name>
              <res-type>javax.sql.DataSource</res-type>
              <res-auth>CONTAINER</res-auth>
              <res-sharing-scope>Shareable</res-sharing-scope>
       </resource-ref>
 

4.19 Carregando o Localizador de Cliente Utilizando o Universal Test Client

Quando o Universal Test Client não consegue pré-carregar a classe de localizador de cliente gerada pelo tempo de execução do WebSphere v5.0.2 ou Axis, isso ocorre porque o nome da classe do Java bean no projeto Web de serviço é o mesmo que o nome da classe SEI no projeto Web do cliente. Para solucionar esse problema:

  1. Remova o projeto Web do cliente do espaço de trabalho
  2. Crie o projeto Web do cliente em um EAR diferente, onde o nome do projeto EAR precisa estar alfabeticamente à frente do nome do projeto EAR de serviço.   Por exemplo, se o nome do projeto EAR de serviço chamar "DefaultEAR", crie o novo nome do projeto EAR chamado "ClientEAR".
  3. Execute novamente o assistente Web Service.

 

4.20 Preferências de Recursos Não Observadas

As preferências de sobreposição de arquivos, de criação de pasta e de registro de saída de arquivo automático não são observadas na criação de serviços da Web utilizando o tempo de execução do WebSphere v5.0.2 e Axis. A criação de pasta sempre é permitida e o registro de saída de arquivo automático nunca está ativado.

Ao utilizar o tempo de execução do WebSphere v5.0.2, o arquivo WSDL, o SEI e os artefatos de implementação (serializam e deserializam) são sempre sobrescritos. Os artefatos de desenvolvimento (bean de serviço, beans do tipo complexo, portador e classe do ajudante) nunca são sobrescritos. Entretanto, o usuário receberá um aviso a respeito da sobreposição dos descritores de implementação, se eles já existirem. O usuário pode selecionar OK para sobrescrever os descritores de implementação e continuar com o cenário, ou Cancel para evitar sobrescrever os descritores.

Ao utilizar o tempo de execução do Apache Axis 1.0, os emissores do Axis geram novamente a cada momento todos os arquivos Java do cliente/servidor, deploy.wsdd e undeploy.wsdd. O WSDL2Java para o cenário de geração de serviço gerará apenas o arquivo de implementação de esqueleto, se ele ainda não existir. Se essa implementação já existir, ela não será sobrescrita.

4.21 Problemas com a Utilização do Tempo de Execução do Apache Axis 1.0

4.22 JSP de Amostra de Serviço da Web Falhou ao Ser Compilado

Ao gerar esqueletos de serviços da Web ou proxies de WSDL que utiliza o mesmo nome para um de seus elementos <serviço> elemento e <porta>, não utilize JSPs de amostra como o cliente de teste. Os JSPs de amostra gerados contêm erros e não serão compilados. Qualquer tentativa de executar os JSPs de amostra no servidor resultará em um ERRO 500 no navegador, indicando que os JSPs de amostra não podem ser carregados e as exceções no console do servidor indicando que o contêiner do servlet não conseguiu compilar os JSPs de amostra.

4.23 Problema com a Linha de Comandos de Serviços da Web em Alemão

Ao executar a ferramenta da linha de comandos no Windows em alemão, determinados caracteres são mostrados como "?" na saída do prompt de comandos. É provável esse caractere seja um trema alemão.

4.24 Erro com Host Local Não Definido

O assistente para criação de Serviço da Web pode falhar durante a geração de WDSL se o nome de host "localhost" não estiver definido no servidor. O UTC também pode não conseguir ativar com êxito se "localhost" não estiver definido.

No Windows, a seguinte entrada deve estar presente no arquivo [INSTALL-DRIVE]\WINNT\system32\drivers\etc\hosts:

127.0.0.1 localhost

No Linux, a seguinte entrada deve estar presente no arquivo /etc/hosts:

127.0.0.1 localhost

4.25 Limitações Permanentes ao Utilizar o Tempo de Execução do IBM SOAP

O tempo de execução IBM SOAP deve ser utilizado principalmente por motivos de compatibilidade anterior. É fortemente recomendado que você utilize o assistente Web Services com o tempo de execução do IBM WebSphere 5.0.2 para todas as finalidades de produção. Ao utilizar o assistente Web Services com o tempo de execução do IBM SOAP, o usuário pode ser executado nas seguintes limitações permanentes:

4.26 Serviço e Cliente da Web Utilizando Tempo de Execução Diferente

Se você criar o serviço da Web de um Java bean ou EJB, escolhendo o IBM SOAP para o tempo de execução de serviço e Apache Axis 1.0 como o tempo de execução do cliente, poderá obter o erro:
WSDL Not found

Para evitar esse problema, primeiro crie o serviço da Web sem optar por gerar um proxy. Em seguida, crie um cliente de serviço da Web a partir do arquivo WSDL gerado.

4.27 Clicando em Finish no Assistente Web service client

Ao executar o assistente Web service client, se o usuário clicar em Finish na página Client Environment Configuration, será obtido o erro:

"null" is not resolvable

A solução alternativa é pressionar Next nessa página e na página seguinte, em seguida, pressionar Finish.

4.28 Folha de Macetes de Serviços da Web

Em Create, test and validate a WS-I compliant Web Service Cheatsheet e Create a Web Service from a WSDL file CheatSheet, se você estiver utilizando o arquivo HelloService.wsdl a partir do wsad_install/wstools/eclipse/plugins/com.ibm.etools.cs.wsdl.content_5.1/examples, modifique a localização da porta de serviço de acordo com o tempo de execução diferente, da seguinte maneira:

Para IBM Soap:

location="http://localhost:9080/HelloWorldSample/servlet/rpcrouter"

Para o tempo de execução do Apache Axis ou WebSphere 5.0.2

location="http://localhost:9080/HelloWorldSample/services/Hello_Port"

Se você estiver importando seu próprio arquivo wsdl, certifique-se de que a localização esteja correta de acordo com o tempo de execução selecionado, como mencionado acima.

Retornar para o arquivo leia-me principal