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 Limitações
   4.1 A Amostra do Supply Chain Management Não Pode Ser Executada
5.0 Problemas Conhecidos
   5.1 Web Services Explorer
   5.2 Servidor de Monitoração TCP/IP Não Funciona no Linux
   5.3 Interoperabilidade com o Tempo de Execução do IBM SOAP
   5.4 Gerando um Documento WSDL a partir de um Arquivo DADX
   5.5 Gerador JSP de Ferramentas da Web
   5.6 Cenário Hospital
   5.7 Utilizando o Universal Test Client
   5.8 Várias Saídas Permitidas em Determinados Casos com Serviços da Web DADX
   5.9 Preferência do Driver JDBC Deve Ser Utilizada Apenas no Linux
   5.10 Necessário Atualizar Arquivos de Exemplo DAD se o Extensor XML Não Estiver Instalado no Diretório Padrão
   5.11 Problemas de Serviços da Web DADX
   5.12 Diálogos Pop-up do Explorer Podem Não Ser Exibidos Corretamente se o Mozilla e o Netscape Estiverem em Execução
   5.13 Suporte a Geração de DADX
   5.14 Erros de WSDL Depois de Importar um Arquivo de Serviços da Web da 4.0.x
   5.15 Problemas ao Utilizar o Linux com GTK
   5.16 Utilizando o Servidor Tomcat com o Tempo de Execução AXIS
   5.17 Problemas ao Utilizar a Linha de Comandos de Serviços da Web
   5.18 Criação de Serviço da Web sem um Servidor Existente
   5.19 Gerando Aplicativo de Amostra de Serviços da Web
   5.20 Importando Arquivos WSDL com Autenticação Básica HTTP
   5.21 Problemas ao Utilizar o Tempo de Execução do WebSphere v5.0.2
   5.22 Configurando um Grupo DADX com Informações de Origem de Dados
   5.23 Carregando o Localizador de Clientes Utilizando o Universal Test Client
   5.24 Preferências de Recursos Não Observadas
   5.25 Problemas ao Utilizar o Tempo de Execução do Apache Axis 1.0
   5.26 JSP de Amostra de Serviço da Web Falhou ao Compilar
   5.27 Erro com Host Local não Definido
   5.28 Limitações Permanentes ao Utilizar o Tempo de Execução do IBM SOAP
   5.29 Serviço da Web e Cliente Utilizando Tempo de Execução Diferente
   5.30 Clicando em Finish no Assistente Web Service Client
   5.31 Folha de Dicas 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 do URL. Esse arquivo leia-me 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

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 teste WORF fora do workbench utilizando Mozilla, recomenda-se pelo menos uma versão 1.3.1 do Mozilla. A saída advinda da chamada do serviço da Web, assim como dos arquivos de descrição poderá não ser apresentada corretamente em versões anteriores do navegador Mozilla.

O tempo de execução DADX requer o DB2 7.2 FixPak 6 ou superior, ou o 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 Limitações

4.1 A Amostra do Supply Chain Management Não Pode Ser Executada

A amostra do Supply Chain Management não é executada no WAS Express.

5.0 Problemas Conhecidos

5.1 Web Services Explorer

5.2 Servidor de Monitoração TCP/IP Não Funciona no Linux

O servidor de monitoração TCP/IP não funciona no Linux. Qualquer tentativa de inserir o servidor de monitoração entre um Web Service e um Web Service client (por exemplo, as JSPs de amostra do Web service, as JSPs Java bean das ferramentas Web e o Universal Test Client) interferirá com a comunicação entre o cliente e o serviço. Especificamente, o cliente será travado indefinidamente na primeira resposta do serviço. Para recuperar-se dessa condição nas JSPs de amostra ou UTC, feche todos os navegadores e ative um novo navegador fora do WebSphere Studio e digite o URL apropriado para as JSPs de amostra geradas ou para o Universal Test Client.

Para monitorar o tráfego SOAP no Linux, tente outra ferramenta de monitoração, como o túnel TCP/IP incluído com o tempo de execução SOAP do Apache, que pode ser transferido por download a partir de http://ws.apache.org/soap/index.html.tool. Inicie o túnel e chame uma operação do Web service client. O tráfego de pedidos e respostas deve aparecer no túnel, no entanto, o cliente aparecerá para suspender. Pare o túnel. Isso fará com que o cliente seja desbloqueado e a operação seja concluída. Inicie novamente o túnel antes de tentar a próxima chamada.

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

5.4 Gerando um Documento WSDL a partir de um Arquivo DADX

5.5 Gerador JSP de Ferramentas da Web

O driver db2java.zip do DB2 deve ser adicionado ao caminho de classe ws.ext.dirs do WebSphere. Para adicionar o db2java.zip, faça o seguinte:

  1. Vá para a perspectiva Server Window > Open Perspective > Server.
  2. Na área de janela Configuração do Servidor, expanda Servidor.
  3. Dê um clique duplo em WebSphere v.4.0 Test Environment. O editor da Instância é aberto.
  4. No editor Instance, clique na guia Paths e em Add External JARs na seção WebSphere specific class path (ws.ext.dirs) para adicionar /home/db2inst1/sqllib/java12/db2java.zip ao caminho do WebSphere.
  5. Selecione File > Save (nome do arquivo) para salvar as alterações e saia do editor Instance.

Para obter as atualizações da documentação do cenário Hospital, vá para WebSphere Developer Domain e clique em Library.

5.7 Utilizando o Universal Test Client

Ao lançar o Universal Test Client do assistente para Web Services, o URL do Provedor JNDI é definido 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.

5.8 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.

5.9 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.

5.10 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_<versão>\samples\DADX_examples podem precisar de modificações 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.

5.11 Problemas de Serviços da Web DADX

5.12 Diálogos Pop-up do Explorer Podem Não Ser Exibidos Corretamente se o Mozilla e o Netscape Estiverem em Execução

Os diálogos pop-up do Explorer dos serviços da Web poderão não ser exibidos corretamente se o Mozilla e o Netscape estiverem em execução ao mesmo tempo. Os diálogos pop-up incluem o diálogo Browse WSDL e o diálogo Browse Category. Para solucionar esse problema, utilize o Mozilla ou o Netscape, mas não os dois ao mesmo tempo.

5.13 Suporte a Geração de DADX

Embora as funções definidas pelo usuário estejam listadas no assistente Generate DADX, não existe, atualmente, suporte para a geração de DADX a partir dessas funções. Existe suporte disponível apenas para geração de DADX a partir de arquivos DAD, procedimentos armazenados e instruções SQL. A seleção de um UDF fará com que um arquivo de estrutura DADX simples seja gerado.

5.14 Erros do WSDL Depois da Importação de um Arquivo de Serviços da Web da V4.0.x

Se você importou um arquivo de serviços da Web do 4.0.x, é possível que 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 novamente os serviços da Web, re-executando o assistente Web Services.

5.15 Problemas ao Utilizar o Linux com o GTK

5.16 Utilizando o Servidor Tomcat com o Tempo de Execução do AXIS

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

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

5.19 Gerando Aplicativo de Amostra de Serviços da Web

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

Ao gerar esqueletos ou clientes a partir de um arquivo WSDL que tenha importações relativas e a Autenticação Básica HTTP protegida, o usuário verá uma mensagem de erro indicando que o arquivo WSDL não pode ser resolvido mesmo que sejam inseridos o ID do usuário e senha corretos. O problema é que o ID do usuário e senha são utilizados apenas para recuperar o arquivo WSDL original, e não os arquivos que ele importa.

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

5.21 Problemas ao Utilizar o Tempo de Execução do WebSphere v5.0.2

5.22 Configurando um Grupo DADX com Informações de Origem de Dados

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

initialContextFactory=com.ibm.websphere.naming.WsnInitialContextFactory

Além disso, o arquivo web.xml para o projeto contendo o grupo DADX precisa ter o seguinte incluído. (Supondo que o nome JNDI da origem de dados seja 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>
 

5.23 Carregando o Localizador de Clientes Utilizando o Universal Test Client

Quando o Universal Test Client é incapaz de 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 de bean Java no projeto da Web do serviço é o mesmo que o nome da classe SEI no projeto da Web do cliente. Para solucionar esse problema:

  1. Remova o projeto da Web do cliente do espaço de trabalho
  2. Crie o projeto da Web do cliente sob um EAR diferente, no qual o nome do projeto EAR deve estar alfabeticamente na frente do nome do projeto EAR do serviço.  Por exemplo, se o nome do projeto EAR de serviço for denominado "DefaultEAR", crie o novo nome de projeto EAR denominado "ClientEAR".
  3. Execute novamente o assistente Web Service.

 

5.24 Preferências de Recursos não Observadas

As preferências de sobrescrever arquivo, criação de pasta e registro de saída de arquivo automático não não observadas ao criar 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 é ativado.

Ao utilizar o tempo de execução do WebSphere v5.0.2, o arquivo WSDL, SEI e artefatos de implementação (serializadores e desserializadores) sempre são sobrescritos. Os artefatos de implementação (bean de serviço, beans de tipos complexos, classe holder e helper) nunca são sobrescritos. No entanto, o usuário receberá um aviso sobre sobrescrever os descritores de implementação, se eles existirem. O usuário pode escolher OK para sobrescrever os descritores de implementação e continuar no cenário ou Cancel para evitar que os descritores sejam sobrescritos.

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

5.25 Problemas ao Utilizar o Tempo de Execução do Apache Axis 1.0

5.26 JSP de Amostra de Serviço da Web Falhou ao Compilar

Ao gerar esqueletos de serviço da Web ou proxies a partir do WSDL que utiliza o mesmo nome para um de seus elementos <service> e <port>, não utilize JSPs de amostra como o Test Client. 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ão em um ERROR 500 no navegador indicando que os JSPs de amostra não podem ser carregados, e exceções no console do servidor indicando que o contêiner do servlet não foi capaz de compilar os JSPs de amostra.

5.27 Erro com Host Local não Definido

O assistente Web Service creation poderá falhar durante a geração do WSDL se o nome do host "localhost" não estiver definido no computador. O UTC também poderá não conseguir ser ativado com êxito se "localhost" não estiver definido.

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

127.0.0.1 localhost

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

127.0.0.1 localhost

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

O tempo de execução do IBM SOAP deve ser utilizado principalmente por razões de compatibilidade reversa. É altamente recomendado que você utilize o assistente Web Services com o tempo de execução do IBM WebSphere 5.0.2 para todos os propósitos de produção. Ao utilizar o assistente para Serviços da Web com o tempo de execução do IBM SOAP, o usuário pode se deparar com as seguintes limitações permanentes:

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

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

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

5.30 Clicando em Finish no Assistente Web Service Client

No assistente Web Service Client, se o usuário clicar em Finish na página Client Environment Configuration, ele obterá o erro:

"null" is not resolvable

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

5.31 Folha de Dicas de Serviços da Web

Nas folhas de dicas Create, test and validate a WS-I compliant Web Service e Create a Web Service from a WSDL file, se estiver utilizando o arquivo HelloService.wsdl a partir de 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 diferente tempo de execução, conforme segue:

Para IBM SOAP:

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

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

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

Se estiver importando seu próprio arquivo wsdl, assegure que a localização esteja definida adequadamente de acordo com o tempo de execução selecionado, conforme mencionado acima.

Retornar para o Arquivo Leia-me Principal