String samlRequest = request.getParameter(GeneralConstants.SAML_REQUEST_KEY);
HTTPContext httpContext = new HTTPContext(request, response, context.getServletContext());
Set<SAML2Handler> handlers = chain.handlers();
try {
ServiceProviderSAMLRequestProcessor requestProcessor = new ServiceProviderSAMLRequestProcessor(
request.getMethod().equals("POST"), this.serviceURL);
requestProcessor.setTrustKeyManager(keyManager);
requestProcessor.setConfiguration(spConfiguration);
boolean result = requestProcessor.process(samlRequest, httpContext, handlers, chainLock);
if (enableAudit) {
PicketLinkAuditEvent auditEvent = new PicketLinkAuditEvent(AuditLevel.INFO);
auditEvent.setType(PicketLinkAuditEventType.REQUEST_FROM_IDP);
auditEvent.setWhoIsAuditing(getContextPath());