Desenvolvendo Aplicativos de Cliente de Serviços da Web Baseados em JAX-WS que Recuperam Tokens de Segurança

Os manipuladores de segurança são responsáveis por propagar os tokens de segurança. Esses tokens de segurança são incorporados no cabeçalho de segurança SOAP e transmitidos aos servidores de recebimento de dados.

Sobre Esta Tarefa

Essas informações aplicam-se apenas à Java™ API for XML-based Web Services (JAX-WS).

Os tokens de segurança são encapsulados nas classes de implementação para a interface com.ibm.wsspi.wssecurity.auth.token.Token. É possível recuperar os dados do token de segurança de um aplicativo de servidor ou de um aplicativo cliente.

Com um aplicativo cliente, o aplicativo serve como o gerador de pedido e o consumidor de resposta, e é executado como o aplicativo cliente Java EE (Java Platform, Enterprise Edition). O componente do consumidor para a Segurança de Serviços da Web armazena os tokens de segurança que ele recebe em uma das propriedades do objeto MessageContext para a chamada de serviços da web atual. É possível recuperar um conjunto de objetos token por meio da interface javax.xml.rpc.Stub dessa chamada de serviços da Web. É necessário saber quais tokens de segurança serão recuperados e seus IDs de token, caso vários tokens de segurança sejam incluídos no cabeçalho de segurança SOAP. Conclua as seguintes etapas para recuperar os dados do token de segurança de um aplicativo cliente:

Procedimento

  1. Use a cadeia de chaves com.ibm.wsspi.wssecurity.token.tokenPropergation para obter o Hashtable para os tokens por meio de um valor da propriedade na interface javax.xml.ws.Stub. O exemplo a seguir mostra como obter a Tabela Hash:
    java.util.Hashtable t;
    
    javax.xml.ws.Service serv = …;
    serv.addPort(...);
    javax.xml.ws.Dispatch<Object> dispatch = svc.createDispatch(...);
    
    Map<String, Object> requestContext = dispatch.getRequestContext();
    requestContext.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, ..);
    requestContext.put(BindingProvider.SOAPACTION_USE_PROPERTY, ..);
    requestContext.put(BindingProvider.SOAPACTION_URI_PROPERTY, ..);
    
    String response = dispatch.invoke(body.toString());
    
    Map<String, Object> responseContext = dispatch.getResponseContext();
    
    t = (Hashtable) responseContext.get( 
    com.ibm.wsspi.wssecurity.Constants.WSSECURITY_TOKEN_PROPERGATION);
  2. Procure os objetos de token de destino na Tabela Hash. Cada objeto de token na Tabela Hash está definido com seu ID de token como uma chave. É necessário ter conhecimento anterior dos IDs de token de segurança para recuperar os tokens de segurança. O exemplo a seguir mostra como recuperar um token do nome do usuário do cabeçalho de segurança com um determinado valor de ID do token:
    com.ibm.wsspi.wssecurity.auth.token.UsernameToken unt;
    if (t != null) {
      unt = (com.ibm.wsspi.wssecuty.auth.token.UsernameToken)t.get(“…”);
    }

Resultados

Depois de concluir estas etapas, você terá recuperado os tokens de segurança que são processados pelo manipulador da Segurança de Serviços da Web em um aplicativo cliente.

Ícone que indica o tipo de tópico Tópico de Tarefa



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_retrievetokencl_jaxws
Nome do arquivo: twbs_retrievetokencl_jaxws.html