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

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

Introduction

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

Prototype

String SERVLET_REQUEST

To view the source code for javax.xml.ws.handler MessageContext SERVLET_REQUEST.

Click Source Link

Document

Standard property: servlet request object.

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//from   w ww  . ja  v a2 s  .co m
 * @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: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   ww  w.ja  v a  2 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:it.greenvulcano.gvesb.api.security.JaxWsIdentityInfo.java

public JaxWsIdentityInfo(WebServiceContext securityContext) {
    super();//from www  .  j  a v  a 2  s. co m

    HttpServletRequest request = (HttpServletRequest) securityContext.getMessageContext()
            .get(MessageContext.SERVLET_REQUEST);

    this.securityContext = (SecurityContext) securityContext.getMessageContext()
            .get(SecurityContext.class.getName());
    this.remoteAddress = request != null ? request.getRemoteAddr() : null;
}

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

@Override
public boolean handleMessage(SOAPMessageContext context) {
    Validate.notNull(context, "SOAPMessageContext should not be null.");

    Boolean outbound = (Boolean) context.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);

    if (outbound != null && outbound.equals(Boolean.TRUE)) {
        return true;
    } else {//w  w  w  .  j  ava2  s  .co m
        String tenant = null;
        String correlationId = null;

        // http://docs.oracle.com/javase/7/docs/api/javax/xml/ws/handler/MessageContext.html :
        //     static final String HTTP_REQUEST_HEADERS
        //         Standard property: HTTP request headers.
        //         Type: java.util.Map<java.lang.String, java.util.List<java.lang.String>>
        //
        //     static final String SERVLET_REQUEST
        //         Standard property: servlet request object.
        //         Type: javax.servlet.http.HttpServletRequest

        HttpServletRequest request = (HttpServletRequest) (context.get(MessageContext.SERVLET_REQUEST));

        Validate.notNull(request, "HttpServletRequest should not be null.");

        @SuppressWarnings("unchecked")
        Map<String, List<String>> headers = (Map<String, List<String>>) (context
                .get(MessageContext.HTTP_REQUEST_HEADERS));
        if (headers != null) {
            List<String> correlationIds = headers.get(WsConstants.ACTIVITY_CORRELATION_ID_CUSTOM_HEADER);
            if ((correlationIds != null) && (correlationIds.size() > 1)) {
                correlationId = correlationIds.get(0);
                correlationId = LogContextHandler.removeNewline(correlationId);
                correlationId = LogContextHandler.truncate(correlationId, 200);
            }
        }

        if ((correlationId == null) || (correlationId.isEmpty())) {
            correlationId = UUID.randomUUID().toString();
            logger.debug("unable to extract correlation id from request. generated new correllation id [{}]",
                    correlationId);
        } else {
            logger.debug("extracted correlation id [{}] from the request", correlationId);
        }

        try {
            tenant = TenantExtractor.extractTenantName(request.getPathInfo());
            tenant = LogContextHandler.removeNewline(tenant);
            tenant = LogContextHandler.truncate(tenant, 200);
            logger.debug("extracted tenant [{}] from the request", tenant);
        } catch (NoSuchIdPException ex) {
            logger.error("failed to extract tenant from the request", ex);
        }

        if ((tenant == null) || (tenant.isEmpty())) {
            tenant = WsConstants.DEFAULT_TENANT;
            logger.debug(
                    "unable to extract explicit tenant name from request. Using default tenant marker [{}].",
                    tenant);
        } else {
            logger.debug("extracted tenant name [{}] from the request", tenant);
        }

        this._diagCtxt = DiagnosticsContextFactory.createContext(correlationId, tenant);
    }

    return true;
}

From source file:it.govpay.web.handler.MessageLoggingHandlerUtils.java

@SuppressWarnings("unchecked")
public static boolean logToSystemOut(SOAPMessageContext smc, String tipoServizio, int versioneServizio,
        Logger log) {//  ww  w.  j  a  va 2 s .c o m
    Boolean outboundProperty = (Boolean) smc.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);

    GpContext ctx = null;
    Message msg = new Message();

    SOAPMessage message = smc.getMessage();
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    try {
        message.writeTo(baos);
        msg.setContent(baos.toByteArray());
    } catch (Exception e) {
        log.error("Exception in handler: " + e);
    }

    Map<String, List<String>> httpHeaders = null;

    if (outboundProperty.booleanValue()) {
        ctx = GpThreadLocal.get();
        httpHeaders = (Map<String, List<String>>) smc.get(MessageContext.HTTP_RESPONSE_HEADERS);
        msg.setType(MessageType.RESPONSE_OUT);
        ctx.getContext().getResponse().setOutDate(new Date());
        ctx.getContext().getResponse().setOutSize(Long.valueOf(baos.size()));
    } else {
        try {
            ctx = new GpContext(smc, tipoServizio, versioneServizio);
            ThreadContext.put("op", ctx.getTransactionId());
            GpThreadLocal.set(ctx);
        } catch (Exception e) {
            log.error(e.getMessage(), e);
            return false;
        }
        httpHeaders = (Map<String, List<String>>) smc.get(MessageContext.HTTP_REQUEST_HEADERS);
        msg.setType(MessageType.REQUEST_IN);
        msg.setContentType(((HttpServletRequest) smc.get(MessageContext.SERVLET_REQUEST)).getContentType());

        ctx.getContext().getRequest().setInDate(new Date());
        ctx.getContext().getRequest().setInSize(Long.valueOf(baos.size()));
    }

    if (httpHeaders != null) {
        for (String key : httpHeaders.keySet()) {
            if (httpHeaders.get(key) != null) {
                if (key == null)
                    msg.addHeader(new Property("Status-line", httpHeaders.get(key).get(0)));
                else if (httpHeaders.get(key).size() == 1)
                    msg.addHeader(new Property(key, httpHeaders.get(key).get(0)));
                else
                    msg.addHeader(new Property(key, ArrayUtils.toString(httpHeaders.get(key))));
            }
        }
    }

    ctx.log(msg);

    return true;
}

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

/**
 * getRequestClientIP/*from   w  ww  .j  a v a  2 s.c  om*/
 * @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;
}

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:edu.duke.cabig.c3pr.web.security.SecureWebServiceHandler.java

public void handleMessage(SoapMessage message) throws Fault {
    SOAPMessageContext ctx = new SOAPMessageContextImpl(message);
    try {//from w w w  .  j a  v  a  2  s .  c o m
        ServletContext servletContext = (ServletContext) ctx.get(MessageContext.SERVLET_CONTEXT);
        HttpServletRequest request = (HttpServletRequest) ctx.get(MessageContext.SERVLET_REQUEST);

        SAMLAssertion samlAssertion = extractSAMLAssertion(message);
        verifyAssertion(samlAssertion);

        authenticateSubject(servletContext, samlAssertion);

        if (SecurityContextHolder.getContext().getAuthentication() == null) {
            throw new RuntimeException(
                    "Unable to authenticate service caller: perhaps, invalid SAML assertion?");
        }
        AuditInfoFilter.setAuditInfo(request);
    } catch (Exception e) {
        log.error(e, e);
        generateSecurityFault(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  ww w  .  ja v  a  2 s . com*/
        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:com.netsteadfast.greenstep.bsc.webservice.impl.ApiWebServiceImpl.java

/**
 * SOAP  SoapUI //from  w  ww  .  j av  a  2 s. c  o m
 * ==================================================================================
   <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservice.bsc.greenstep.netsteadfast.com/">
 <soapenv:Header/>
 <soapenv:Body>
         
    <web:getScorecard1>
            
       <visionOid>1089abb5-3faf-445d-88ff-cd7690ac6743</visionOid>
       <startDate></startDate>
       <endDate></endDate>
       <startYearDate>2015</startYearDate>
       <endYearDate>2016</endYearDate>
       <frequency>6</frequency>
       <dataFor>all</dataFor>
       <measureDataOrganizationOid></measureDataOrganizationOid>
       <measureDataEmployeeOid></measureDataEmployeeOid>
       <contentFlag></contentFlag>
               
    </web:getScorecard1>
            
 </soapenv:Body>
   </soapenv:Envelope>
 * ==================================================================================
 * 
 * 
 * REST :
 * curl -i -X GET "http://127.0.0.1:8080/gsbsc-web/services/jaxrs/scorecard1?visionOid=1089abb5-3faf-445d-88ff-cd7690ac6743&startDate=&endDate=&startYearDate=2015&endYearDate=2016&frequency=6&dataFor=all&measureDataOrganizationOid=&measureDataEmployeeOid=&contentFlag="
 * 
 */
@WebMethod
@GET
@Path("/scorecard1/")
@Override
public BscApiServiceResponse getScorecard1(
        @WebParam(name = "visionOid") @QueryParam("visionOid") String visionOid,
        @WebParam(name = "startDate") @QueryParam("startDate") String startDate,
        @WebParam(name = "endDate") @QueryParam("endDate") String endDate,
        @WebParam(name = "startYearDate") @QueryParam("startYearDate") String startYearDate,
        @WebParam(name = "endYearDate") @QueryParam("endYearDate") String endYearDate,
        @WebParam(name = "frequency") @QueryParam("frequency") String frequency,
        @WebParam(name = "dataFor") @QueryParam("dataFor") String dataFor,
        @WebParam(name = "measureDataOrganizationOid") @QueryParam("measureDataOrganizationOid") String measureDataOrganizationOid,
        @WebParam(name = "measureDataEmployeeOid") @QueryParam("measureDataEmployeeOid") String measureDataEmployeeOid,
        @WebParam(name = "contentFlag") @QueryParam("contentFlag") String contentFlag) throws Exception {

    HttpServletRequest request = null;
    if (this.getWebServiceContext() != null && this.getWebServiceContext().getMessageContext() != null) {
        request = (HttpServletRequest) this.getWebServiceContext().getMessageContext()
                .get(MessageContext.SERVLET_REQUEST);
    }
    Subject subject = null;
    BscApiServiceResponse responseObj = new BscApiServiceResponse();
    responseObj.setSuccess(YesNo.NO);
    try {
        subject = WsAuthenticateUtils.login();
        this.processForScorecard(responseObj, request, visionOid, startDate, endDate, startYearDate,
                endYearDate, frequency, dataFor, measureDataOrganizationOid, measureDataEmployeeOid,
                contentFlag);
    } catch (Exception e) {
        responseObj.setMessage(e.getMessage());
    } finally {
        if (!YesNo.YES.equals(responseObj.getSuccess())) {
            responseObj.setMessage(SysMessageUtil.get(GreenStepSysMsgConstants.SEARCH_NO_DATA));
        }
        WsAuthenticateUtils.logout(subject);
    }
    subject = null;
    return responseObj;
}