É possível definir seus próprios algoritmos de segurança para os perfis
de segurança SOAP ao implementar as interfaces Java™ de segurança
customizada que podem ser usadas no editor de segurança WSDL. Com os algoritmos de segurança
customizados, é possível implementar os algoritmos de segurança do proprietário que transformam
o XML antes de enviar e depois de receber o conteúdo da mensagem.
Antes de Iniciar
A interface de segurança customizada e o arquivo JAR que a contém
são fornecidos com o produto na pasta customsecuritydefinition
do plug-in com.ibm.rational.ttt.common.models.core.
Você precisa dessas interfaces para criar seus próprios algoritmos. Se você estiver
usando o IBM® Rational Performance Tester ou o IBM Rational Service Tester for SOA Quality,
consulte Estendendo a execução de teste com código customizado para obter
mais informações sobre como estender as capacidades de teste com código Java.
Procedimento
- No navegador de teste ou no explorador de projetos, crie uma nova classe
Java na pasta de projeto de teste de serviço da
web.
- Implemente um algoritmo de segurança em Java utilizando a seguinte interface:
/**
* ***************************************************************
* Confidencial IBM
*
* (c) Copyright IBM Corporation. 2008. Todos os Direitos Reservados.
*
* O código fonte deste programa não é publicado ou, por outro lado,
* privado de seus segredos comerciais, independentemente do que tenha sido
* consolidado no Copyright Office dos Estados Unidos.
* ***************************************************************
*
*/
package com.ibm.rational.test.lt.models.wscore.datamodel.security.xmlsec;
import java.util.Properties;
import org.w3c.dom.Document;
public interface ICustomSecurityAlgorithm {
/**
* Os seguintes métodos podem ser utilizados nos dois casos:
* Execução no ambiente de trabalho e execução do teste.
*/
/**
* Chamado para processar o Documento enviado por meio de transporte.
* @param subject
*/
void process(Document subject);
/**
* Chamado para cancelar o processo de um documento recebido de um servidor.
* @param subject
*/
void unProcess(Document subject);
/**
* Propriedades definidas na UI do CustomSecurityAlgorithm.
* @param map
*/
void setProperties(Properties map);
/**
* Os métodos a seguir podem ser utilizados apenas com relação a difusão para testar a interface de serviço,
* ou com relação a acesso das informações XML anteriores, quando o jar que contém
* o algoritmo de segurança customizado é implementado no projeto de teste de desempenho. Nesse
* caso, não é possível utilizar o algoritmo diretamente do ambiente de trabalho.
*/
/**
* Esse objeto corresponde ao objeto ITestExecutionService.
* Isso aplica-se apenas a um algoritmo que deva ser vinculado à execução do teste.
* Se você planeja utilizar esse objeto, precisará implementar o jar que contém a
* implementação em seu projeto de teste de desempenho e não diretamente no JRE.
*
* No caso de precisar do documento XML anterior recebido da execução, você poderá
* obter o valor utilizando:
* IDataArea area = ((ITestExecutionService)executionObject).findDataArea(IDataArea.VIRTUALUSER);
*String previousXML = (String) area.get("PREVIOUS_XML"); //$NON-NLS-1$
*
*/
void setExecutionContext(Object executionObject);
O método process modifica o XML antes de ele ser enviado
ao servidor.
O método unprocess modifica o XML depois de ele ser recebido
do servidor.
O método setProperties recupera as propriedades
definidas no editor de segurança dessa interface de segurança customizada.
O método setExecutionContext é chamado durante o teste
com o objeto ITestExecutionServices correspondente à
mensagem, utilizando essa interface de segurança customizada.
- A interface de segurança customizada pode ser utilizada no editor de
segurança WSDL de serviços da web ou em elementos de chamada XML na guia Segurança
XML Local.
- Se você estiver testando um serviço da web baseado em WSDL, clique com o botão direito do mouse no
arquivo WSDL no Navegador de Teste ou no Explorador de Projetos para abrir o editor de segurança WSDL,
selecione a página Algoritmos de Segurança; em seguida, em Detalhes
da pilha de algoritmos de segurança selecionada, clique em .
- Se estiver testando uma chamada XML, abra o elemento de chamada XML no editor
de teste, selecione a guia Segurança XML Local e, em seguida,
clique em
- Em Segurança Customizada, clique em Procurar Classe para
selecionar o nome da classe do algoritmo de segurança customizada, por exemplo: ICustomSecurityAlgorithm.
- Digite um Nome de algoritmo para o algoritmo de segurança
customizada.
- Na lista de propriedades, utilize Incluir, Remover
ou Editar para especificar qualquer propriedade utilizada
pelo método setProperties no algoritmo de segurança customizada.
O que Fazer Depois
Depois de salvar a configuração de segurança ou o elemento de chamada, a
visualização
Dados do Protocolo de Serviço da Web exibe o efeito
do algoritmo de segurança nos dados XML do serviço da web.