O WebSphere Application Server fornece uma implementação de tempo de execução de cliente de serviços da Web thin Java™ Platform, Standard
Edition 6 (Java SE 6) que se baseia na especificaçãoJava API for XML-based Web Services (JAX-WS)
2.2. O Thin Client para JAX-WS com WebSphere Application Server é um ambiente de cliente Java SE 6 independente que possibilita a execução de aplicativos de cliente de serviços da Web JAX-WS não gerenciados em um ambiente não WebSphere para chamar serviços da Web que são hospedados pelo servidor de aplicativos.
Antes de Iniciar
Configurações suportadas: É possível usar o Thin Client para
JAX-WS com
WebSphere Application Server como um tempo de execução de cliente independente em um ambiente Java SE puro, ou dentro de um ambiente OSGi. O Thin Client para JAX-WS não é suportado executando dentro dos ambientes
WebSphere Application Server ou WebSphere Application Client.
Nesta versão do
servidor de aplicativos, com a exceção do Administration Thin
Client, outros tempos de execução do Thin Client fornecidos com o servidor
de aplicativos também podem residir no CLASSPATH e coexistir no Thin
Client para JAX-WS.
sptcfg
Antes que você configure um ambiente de execução do cliente não gerenciado
JAX-WS, obtenha o arquivo JAR (Java Archive) Thin Client para JAX-WS.
Para obter o Thin Client para JAX-WS, instale o WebSphere Application Server Versão 9.0 ou o Aplicativo Cliente para WebSphere Application Server Versão 9.0. O arquivo JAR Thin Client para JAX-WS, com.ibm.jaxws.thinclient_8.5.0.jar, está localizado no diretório app_server_root\runtimes.
Copie o Thin Client para JAX-WS, o arquivo com.ibm.jaxws.thinclient_8.5.0.jar e os arquivos endorsed_apis_8.5.0.jar, em outras máquinas para criar um ambiente do cliente leve que permita comunicação com o produto. As cópias do Thin Client para JAX-WS estão
sujeitas aos mesmos termos e condições do contrato de licença do produto WebSphere
em que você obteve o Thin Client para JAX-WS. Consulte
os contratos de licença para o uso correto e outras limitações.
O Thin Client para JAX-WS é
suportado nos seguintes ambientes:
- IBM® Software Development Kits (SDKs) Versão 6.0
- SDKs não IBM V6.0 com a seguinte limitação:
- Limitação de Xerces em SDKs não IBM
É necessário fazer download
do Xerces-J Versão 2.6.2 e incluir o arquivo no caminho de classe ao configurar
o ambiente Thin Client para JAX-WS.
- WS-SecurityKerberos em SDKs não IBM
O WS-SecurityKerberos não é
suportado com o Sun JDK ou outros SDKs não IBM. Aplicativos executados
em um ambiente do Thin Client para JAX-WS que usam a proteção em nível
de mensagem do WS-Security e usam os tokens de segurança do Kerberos, conforme descrito
na especificação Web Services Security Kerberos Token Profile 1.1,
não funcionam corretamente em JDKs não IBM. Essa limitação existe devido a uma dependência no provedor IBM JGSS que apenas está disponível dentro dos IBM SDKs.
- Ambientes de tempo de execução Equinox 3.6 OSGi
Sobre Esta Tarefa
Configure um ambiente Thin Client para JAX-WS, concluindo as seguintes etapas.
Procedimento
- Copie o arquivo JAR do Thin Client para JAX-WS, com.ibm.jaxws.thinclient_8.5.0.jar, em outras máquinas para criar um ambiente do cliente leve.
- Use o Java Endorsed
Standards Override Mechanism para substituir APIs que estão disponíveis no JDK no seu sistema.
Porque o Thin Client para JAX-WS com WebSphere Application ServerVersão 9.0 requer APIs que sejam mais atuais do que o disponível em JDKs para suportar implementações JAX-WS 2.2 e JAXB 2.2, você deve substituir as APIs JDK padrão em uso pelo seus sistema usando o Java Endorsed Standards Override Mechanism.
Copie o arquivo app_server_root\runtimes\endorsed\endorsed_apis_8.5.0.jar no diretório padrão, JAVA_JRE\lib\endorsed.
Como alternativa, é possível usar a propriedade java.endorsed.dirs para especificar
um diretório de sua escolha. Se escolher usar um diretório alternativo, é recomendado incluir
apenas o arquivo JAR endorsed_apis.
- Configure o caminho. Insira o seguinte comando para incluir os diretórios Java bin mo seu caminho:
![[Windows]](../images/windows.gif)
![[z/OS]](../images/ngzos.gif)
set PATH=<your_JDK_bin_directory>;%PATH%
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Solaris]](../images/solaris.gif)
![[Linux]](../images/linux.gif)
export PATH=<your_JDK_bin_directory>:$PATH
- Configure o caminho de classe.
- Opcional: Implemente conjuntos de políticas para o
cliente.
- Configure o SSL para o cliente.
- Inclua as seguintes propriedades do sistema no comando Java:
-Dcom.ibm.SSL.ConfigURL=file:///home/sample/ssl.client.props
É possível obter o arquivo ssl.client.props da instalação do WebSphere Application Server e modificar o arquivo para ajustar-se ao seu ambiente. Você deverá,
no mínimo, atualizar o local dos arquivos de chave com.ibm.ssl.keyStore e com.ibm.ssl.trustStore
no arquivo ssl.client.props para o local de correspondência de seu
ambiente de destino.
Por exemplo, utilize estas definições de
configuração de SSL ao executar o aplicativo com um Sun JRE:com.ibm.ssl.protocol=SSL
com.ibm.ssl.trustManager=SunX509
com.ibm.ssl.keyManager=SunX509
com.ibm.ssl.contextProvider=SunJSSE
com.ibm.ssl.keyStoreType=JKS
com.ibm.ssl.keyStoreProvider=SUN
com.ibm.ssl.keyStore=/home/user1/etc/key.jks
com.ibm.ssl.trustStoreType=JKS
com.ibm.ssl.trustStoreProvider=SUN
com.ibm.ssl.trustStore=/home/user1/etc/trust.jks
O arquivo de armazenamento de chaves e armazenamento de confiança deve ser criado usando o utilitário Java keytool antes da execução do aplicativo. A geração de arquivo de chaves automática não é suportada com um JRE de produto não IBM.
- Execute o aplicativo cliente:
- Insira o comando a seguir se tiver copiado o arquivo endorsed_apis_8.5.0.jar no diretório padrão
JAVA_JRE\lib\endorsed padrão, por exemplo:
![[Windows]](../images/windows.gif)
![[z/OS]](../images/ngzos.gif)
%JAVA_HOME%\bin\java -Dcom.ibm.SSL.ConfigURL=file:\\\home\sample\ssl.client.props <your_client_application>
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Solaris]](../images/solaris.gif)
![[Linux]](../images/linux.gif)
![[IBM i]](../images/iseries.gif)
$JAVA_HOME/bin/java -Dcom.ibm.SSL.ConfigURL=file:///home/sample/ssl.client.props <your_client_application>
- Insira o comando a seguir se tiver copiado o arquivo endorsed_apis_8.5.0.jar em um diretório diferente do diretório JAVA_JRE\lib\endorsed padrão, por exemplo:
![[Windows]](../images/windows.gif)
![[z/OS]](../images/ngzos.gif)
%JAVA_HOME%\bin\java
-Djava.endorsed.dirs=<directory_that_includes_endorsed_apis_8.5.0.jar>
-Dcom.ibm.SSL.ConfigURL=file:\\\home\sample\ssl.client.props <your_client_application>
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Solaris]](../images/solaris.gif)
![[Linux]](../images/linux.gif)
![[IBM i]](../images/iseries.gif)
$JAVA_HOME/bin/java
-Djava.endorsed.dirs=<directory_that_includes_endorsed_apis_8.5.0.jar>
-Dcom.ibm.SSL.ConfigURL=file:///home/sample/ssl.client.props <your_client_application>
Resultados
Você configurou um ambiente de tempo de execução de cliente JAX-WS não gerenciado para chamar serviços da Web que estão hospedados em um
WebSphere Application Server.
Evitar Problemas: O comando a seguir ilustra como exibir a versão do thin
client que está sendo executado:
java -cp (wasHome)/runtimes/com.ibm.jaxws.thinclient_8.5.0.jar com.ibm.ws.webservices.Version
O
exemplo a seguir ilustra a saída do
comando:
IBM Web services build: cf021412.02
IBM Web services release: 8.5.5
Time stamp: 5/14/14 21:11:46
gotcha