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 Interoperabilidade com o Tempo de Execução do IBM SOAP
   5.3 Gerando um documento WSDL a partir de um arquivo DADX
   5.4 Gerador JSP de Ferramentas da Web
   5.5 Utilizando o Universal Test Client
   5.6 Várias Saídas Permitidas em Determinados Casos com Serviços Web DADX
   5.7 Preferência do Driver JDBC Deve Ser Utilizada Apenas no Linux
   5.8 Necessário Atualizar Arquivos de Exemplo DAD se o Extensor XML Não Estiver Instalado no Diretório Padrão
   5.9 Problemas de DADX dos Serviços da Web
   5.10 Suporte a Geração de DADX
   5.11 Erros WSDL após Importação do Arquivo de Serviço da Web a partir do 4.0.x
   5.12 Problemas ao Utilizar a Linha de Comandos de Serviços da Web
   5.13 Criação de Serviço da Web sem um Servidor Existente
   5.14 Gerando Aplicativo de Amostra de Serviços da Web
   5.15 Importando Arquivos WSDL com Autenticação Básica HTTP
   5.16 Problemas ao Utilizar o Tempo de Execução do WebSphere v5.0.2
   5.17 Configurando um Grupo DADX com Informações de Origem de Dados
   5.18 Carregando o Localizador de Clientes Utilizando o Universal Test Client
   5.19 Preferências de Recursos não Observadas
   5.20 Problemas ao Utilizar o Tempo de Execução do Apache Axis 1.0
   5.21 JSP de Amostra de Serviço da Web Falhou ao Compilar
   5.22 Problema com a Linha de Comandos de Serviços da Web em Alemão
   5.23 Erro com Host Local não Definido
   5.24 Limitações Permanentes ao Utilizar o Tempo de Execução do IBM SOAP
   5.25 Serviço da Web e Cliente Utilizando Tempo de Execução Diferente
   5.26 Clicando em Finish no Assistente Web Service Client
   5.27 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

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 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 Interoperabilidade com o Tempo de Execução do IBM SOAP

5.3 Gerando um Documento WSDL a Partir de um Arquivo DADX

5.4 Gerador JSP de ferramentas da Web

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.6 Várias Saídas Permitidas em Determinados Casos com Serviços 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.7 Preferência do Driver JDBC Deve Ser Utilizada Apenas 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.8 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.9 Problemas de DADX dos Serviços da Web

5.10 Suporte à 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.11 Erros de WSDL depois de Importar 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.12 Problemas ao Utilizar a Linha de Comandos de Serviços da Web

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

5.14 Gerando Aplicativo de Amostra de Serviços da Web

5.15 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.16 Problemas ao Utilizar o Tempo de Execução do WebSphere v5.0.2

5.17 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.18 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.19 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.20 Problemas ao Utilizar o Tempo de Execução do Apache Axis 1.0

5.21 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.22 Problema com a Linha de Comandos de Serviços da Web em Alemão

Ao executar a ferramenta de linha de comandos no Windows em alemão, determinados caracteres aparecem como "?" na saída do prompt de comandos. Esse caractere provavelmente é um Umlaut alemão.

5.23 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.24 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.25 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.26 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.27 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