Example usage for javax.xml.ws.handler MessageContext get

List of usage examples for javax.xml.ws.handler MessageContext get

Introduction

In this page you can find the example usage for javax.xml.ws.handler MessageContext get.

Prototype

V get(Object key);

Source Link

Document

Returns the value to which the specified key is mapped, or null if this map contains no mapping for the key.

Usage

From source file:com.vmware.identity.sts.util.MessageExtractionUtil.java

/**
 * Parse the message context to get the user name
 * @param context cannot be null/*w w  w .j av a 2  s . c om*/
 * @return
 * @throws MessageExtractionException
 */
public static String extractUsernameFromMsgContext(MessageContext context) {

    Validate.notNull(context);
    ServletRequest req = (ServletRequest) context.get(MessageContext.SERVLET_REQUEST);
    assert req != null;
    return extractUsernameFromSevletRequest(req);
}

From source file:it.vige.greenarea.gtg.webservice.auth.LDAPauth.java

public static String doAuthentication(WebServiceContext wsContext) throws LDAPException {

    String result;//w ww. java 2s  .  com
    MessageContext mctx = wsContext.getMessageContext();

    Map<String, Object> http_headers = (Map) mctx.get(MessageContext.HTTP_REQUEST_HEADERS);
    List<Object> list = (List) http_headers.get("Authorization");

    if (list == null || list.isEmpty()) {
        result = "Authentication failed! This WS needs BASIC Authentication!";
        throw new LDAPException(ResultCode.AUTH_METHOD_NOT_SUPPORTED, result);
    }

    String userpass = (String) list.get(0);
    userpass = userpass.substring(5);
    byte[] buf = Base64.decodeBase64(userpass.getBytes());// decodeBase64(userpass.getBytes());

    String credentials = StringUtils.newStringUtf8(buf);
    String username;
    String password;

    int p = credentials.indexOf(":");

    if (p > -1) {

        username = credentials.substring(0, p);

        password = credentials.substring(p + 1);

    } else {

        result = "There was an error while decoding the Authentication!";
        throw new LDAPException(ResultCode.DECODING_ERROR, result);
    }
    /*
     * Creazione di una "Identity" Se non mi serve un sottodominio, posso
     * anche usare il costruttore Identity(usr,pwd)
     */
    logger.debug("*** LOG *** username: " + username + " pwd: " + password);
    logger.debug("*** LOG *** username: " + username + " AUTHORIZED!");
    return username;
}

From source file:be.fedict.eid.idp.protocol.ws_federation.sts.WSSecuritySoapHandler.java

public static Element getToken(WebServiceContext context) {
    MessageContext messageContext = context.getMessageContext();
    Element soapElement = (Element) messageContext.get(SAML_TOKEN_CONTEXT_ATTRIBUTE);
    return soapElement;
}

From source file:dk.statsbiblioteket.sbutil.webservices.authentication.ExtractCredentials.java

/**
 * Extract credentials from a web service context.
 *
 * @param wscontext A given web service context.
 * @return Credentials extracted from the web service context.
 * @throws CredentialsException On trouble extracting the credentials.
 * @throws NoCredentialsException If there are no credentials in the
 * context./*from www  . j av  a2  s  .  co  m*/
 */
public static Credentials extract(WebServiceContext wscontext) throws CredentialsException {
    MessageContext mc = wscontext.getMessageContext();
    //FIXME: NPE on no servlet request?
    //FIXME: ClassCastException on other type of SOAP webservice call
    HttpServletRequest request = (HttpServletRequest) mc.get(MessageContext.SERVLET_REQUEST);
    return extract(request);
}

From source file:com.hitaware.hitaware.ws.HitAwareIntegrator.java

private HttpServletRequest getRequest() {
    MessageContext mc = wsContext.getMessageContext();
    HttpServletRequest request = (HttpServletRequest) mc.get(MessageContext.SERVLET_REQUEST);
    return request;
}

From source file:com.vmware.identity.sts.ws.handlers.SoapMsgMetricsCollector.java

private void reportTime(MessageContext context, PerfMeasurementInterface itf) {
    long delta = System.currentTimeMillis() - msgStartTs.get().longValue();

    List<String> actions = ((Headers) context.get(MessageContext.HTTP_REQUEST_HEADERS)).get("soapaction");
    assert actions.size() == 1;

    //remove the double quote
    String action = actions.get(0);
    String canonicalAction = action.startsWith("\"") ? action.substring(1, action.length() - 1) : action;

    try {//from  w ww . j av a2  s  .c  o  m
        reportProcessingTime(delta, canonicalAction,
                MessageExtractionUtil.extractUsernameFromMsgContext(context), itf);
    } catch (Exception e) { //log & swallow
        logger.error("exception occurred when reporting performance measurement data on itf {}: {}", itf,
                e.getMessage());
    }
}

From source file:org.psikeds.common.services.AbstractSOAPService.java

/**
 * @see org.psikeds.common.services.AbstractBaseService#getContinuationProvider()
 */// w ww . j av a2s.c o m
@Override
protected ContinuationProvider getContinuationProvider() {
    ContinuationProvider prov = null;
    try {
        getLogger().trace("--> getContinuationProvider()");
        final MessageContext ctx = this.context == null ? null : this.context.getMessageContext();
        final String key = ContinuationProvider.class.getName();
        getLogger().debug("Getting {} from {}", key, ctx);
        prov = (ctx == null ? null : (ContinuationProvider) ctx.get(key));
        return prov;
    } finally {
        getLogger().trace("<-- getContinuationProvider(); prov = {}", prov);
    }
}

From source file:org.grycap.vmrc.service.SecurityService.java

public User getUserFromContext(WebServiceContext webServiceContext) throws ServiceException {
    try {/*from   w ww  . j ava2s . c o m*/
        MessageContext messageContext = webServiceContext.getMessageContext();
        Map<String, Object> httpHeaders = (Map<String, Object>) messageContext
                .get(MessageContext.HTTP_REQUEST_HEADERS);
        List<?> userList = (List<?>) httpHeaders.get("Username");
        List<?> passList = (List<?>) httpHeaders.get("Password");

        String clientUserName = (userList != null) ? userList.get(0).toString() : "anonymous";
        String clientPassword = (passList != null) ? passList.get(0).toString() : "";

        return new User(clientUserName, clientPassword);
    } catch (Exception e) {
        throw new ServiceException(e);
    }
}

From source file:com.mycompany.frogsssa.testDD.java

@Override
public void data(String source, byte[] data) {
    String msg = new String(data);
    System.out.println("DATA src: " + source + " d: " + msg);
    if (msg.substring(0, 10).equals("REGISTERED")) {
        if (!msg.contains(":")) {
            System.out.println("Wrong response format from the configuration architecture\n"
                    + "Expected REGISTERED:<ID app> instead of " + msg);
        }/*from w w  w . j ava2 s  .  c o m*/
        String id = msg.split(":")[1];
        //URI ad = uriInfo.getBaseUri();
        MessageContext msgCtxt = ConnectionModule.wsCtxt.getMessageContext();
        HttpServletRequest request = (HttpServletRequest) msgCtxt.get(MessageContext.SERVLET_REQUEST);

        String hostName = request.getServerName();
        int port = request.getServerPort();
        String contextPath = request.getContextPath();
        String uri = "http://" + hostName + ":" + port + contextPath;
        this.publish("public." + id + "/restServer", uri);
    }
    ConnectionModule.someConfiguration(this.name, new String(data));
}

From source file:org.meerkat.ws.MeerkatWebService.java

/**
 * getRequestClientIP/* www . j  ava 2  s.c o m*/
 * @return
 */
public final String getRequestClientIP() {
    MessageContext mc = wsContext.getMessageContext();
    HttpServletRequest req = null;
    String remoteAddr = "";
    try {
        req = (HttpServletRequest) mc.get(MessageContext.SERVLET_REQUEST);
        remoteAddr = req.getRemoteAddr();
    } catch (Exception e) {
        log.warn("Unable to get client request remote address. " + e.getMessage());
        return "";
    }
    return remoteAddr;
}