Hi Michael,

there are newer ways of doing this, but I haven't gotten around to getting them working (had difficulties....).

In your skeleton try the following - it has a deprecated call in it, but it still works with 1.2 and 1.3, so is fine for the time being......

 // Extract the username token from the soap headers. This uses deprecated
  // axis-2 methods on WSSecurityEngineResult, which probably need to be replaced
  // with the newer code, once it is discovered what that code is.
  private String getUserNameToken() {
   try {
    MessageContext messageContext = MessageContext.getCurrentMessageContext();
    logger.debug"Method call: getUserNameToken");
    Vector results = null;
    if ((results = (VectormessageContext.getPropertyWSHandlerConstants.RECV_RESULTS)) == null) {
      logger.debug"Exceptional return: no security headers in message context");
      throw new RuntimeException"No security headers available in message context!!");
    }
    else {
      logger.debug"results size = " + results.size());
      for (int i=0; i<results.size(); i++) {
       // Get hold of the WSHandlerResult instance.
       WSHandlerResult rResult = (WSHandlerResultresults.geti);
       Vector wsSecEngineResults = rResult.getResults();
       logger.debug"wsEngineResults.size = " + wsSecEngineResults.size());
       for int j=0; j<wsSecEngineResults.size(); j++) {
        //Get hold of the WSSecurityEngineResult instance
        WSSecurityEngineResult engineResult = (WSSecurityEngineResultwsSecEngineResults.getj);
        logger.debug"engineResult.getPrincipal() = " + engineResult.getPrincipal());
        if engineResult.getPrincipal() instanceof WSUsernameTokenPrincipal) {
          // Extract the principal.
          WSUsernameTokenPrincipal principal = (WSUsernameTokenPrincipalengineResult.getPrincipal();
          //Get user/pass
          logger.debug"Normal return: getUserNameToken result = " + principal.getName());
          return principal.getName();
          //String passwd = principal.getPassword();
        }
       }
      }
    }
    throw new RuntimeException"Username security header not available in message context!!");
   }
   catch RuntimeException e) {
    // Log any exceptions before rethrowing them, as axis2 doesnt tend to
    // log message receiver errors.
    logger.errore.getMessage(), e);
    throw e;
   }
  }


Michael Imhof wrote:
We're using Axis Webservices and they are secured by basic authentication.

Now, I would to access the user/password information of the basic
authentication
(this information must be send to the server anywhere).

How can I access this information.

Regards,

Michael
  

--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to