Visão Geral do Cliente de Serviço Genérico

O propósito do cliente de serviço genérico é enviar solicitações para qualquer serviço que usa um transporte HTTP, JMS, WebSphere MQ ou Microsoft .NET. O cliente de serviço genérico também exibe a resposta retornada pelo serviço.

O cliente de serviço genérico será útil para depurar ou testar um serviço, quando você não tiver acesso a um cliente dedicado para enviar a solicitação. É possível configurar uma variedade grande de configurações de transporte e segurança para o serviço, editar os parâmetros da solicitação e enviar anexos.

Quando uma solicitação for chamada com sucesso, seu retorno de mensagem será incluído no Histórico de Solicitação. Você pode utilizar esse recurso para lembrar os resultados que foram gerados em momentos diferentes.

Se você estiver usando IBM® Rational Performance Tester ou IBM Rational Service Tester for SOA Quality, poderá selecionar solicitações no Histórico de Solicitação e clicar em Gerar Teste para gerar um teste que reproduzirá todas as solicitações selecionadas. É possível editar o teste para substituir os valores de teste registrados pelos os dados de teste variáveis ou incluir correlação de dados dinâmicos no teste. Também é possível configurar pontos de verificação no conteúdo dos documentos XML na resposta do serviço.

Serviços Suportados

O cliente de serviço genérico permite enviar solicitações para muitos tipos de serviços que usam os protocolos de transporte a seguir:
  • HTTP
  • Java™ Message Service (JMS), incluindo as implementações de JBoss e do WebSphere
  • WebSphere MQ
  • Microsoft .NET Framework Windows Communication Foundation (WCF).
Nota: Se você estiver usando o IBM Security AppScan, apenas o protocolo de transporte HTTP será suportado.

Encryption and security

The Java Runtime Environment (JRE) that the workbench uses must support the level of encryption required by the digital certificate that you select. For example, you cannot use a digital certificate that requires 256-bit encryption with a JRE that supports only 128-bit encryption. By default, the workbench is configured with restricted or limited strength ciphers. To use less restricted encryption algorithms, you must download and apply the unlimited jurisdiction policy files (local_policy.jar and US_export_policy.jar).

You can download unlimited jurisdiction policy files from this site: http://www.ibm.com/developerworks/java/jdk/security/50/

Click on IBM SDK Policy files, and then log in to developerWorks to obtain the unlimited jurisdiction policy files. Before installing these policy files, back up the existing policy files in case you want to restore the original files later. Then overwrite the files in /jre/lib/security/ directory with the unlimited jurisdiction policy files.

SSL Authentication

Service tests support simple or double SSL authentication mechanisms:
  • Simple authentication (server authentication): In this case, the test client needs to determine whether the service can be trusted. You do not need to setup a key store. If you select the Always trust option, you do not need to provide a server certificat key store.

    If you want to really authenticate the service, you can configure an certificate trust store, which contains the certificates of trusted services. In this case, the test will expect to receive a valid certificate.

  • Double authentication (client and server authentication): In this case, the service needs to authenticate the test client according to its root authority. You must provide the client certificate keystore that needs to be produced to authenticate the test as a certified client.

When recording a service test through a proxy, the recording proxy sits between the service and the client. In this case, you must configure the SSL settings of the recording proxy to authenticate itself as the actual service to the client (for simple authentication), and as the client to the service (for double authentication). This means that you must supply the recording proxy with the adequate certificates.

When using stub services, you can also configure the SSL settings of the stub service to authenticate itself as the actual server. This means that you must supply the service stub with the adequate certificate.

NTLM and Kerberos Authentication

The product supports Microsoft NT LAN Manager (NTLMv1 and NTLMv2) and Kerberos authentication. The authentication information is recorded as part of the test during the recording phase.

To enable NTLMv2 support, you must add a third party library to the workbench. For more information, see Configurando o Ambiente de Trabalho para a Autenticação do NTLMv2.

Digital certificates

You can test services with digital certificates for both SSL and SOAP security protocol. Digital certificates must be contained in Java Key Store (JKS) keystore resources that are accessible in the workspace. When dealing with keystore files, you must set the password required to access the keys both in the security editor and the test editor. For SOAP security you might have to provide an explicit name for the key and provide a password to access the private keys in the keystore.

Limitações

A matrizes não são suportadas.

Em razão de falta de especificação, os anexos não são suportados com o transporte JMS (Java Message Service). O envelope é enviado diretamente utilizando-se a codificação UTF-8.

Todos os algoritmos de segurança nem sempre estão disponíveis para cada implementação Java Runtime Environment (JRE). Se uma implementação de segurança específica não estiver disponível, inclua as bibliotecas necessárias no caminho de classe do JRE utilizado por este produto.

O testador de serviço genérico exibe o envelope conforme refletido no documento XML. No entanto, os algoritmos de segurança consideram o envelope como binário. Portanto, é necessário definir a configuração de segurança do SOAP para que as mensagens de entrada e saída sejam criptografadas corretamente, mas permaneçam decriptografadas no teste.

O protocolo de transporte Microsoft .NET não suporta transações, escopos ou solicitações de modo duplex, como retornos de chamada ou serviços de duas vias com base no transporte do MS-MQ.


Feedback