public ResponseToken getResponse(RequestToken request) throws Exception { if (request == null || request.getUserName() == null) { throw new Exception("Invalid request token. User credentials not provided"); } RequestProcessor processor = null; ResponseToken responseToken = null; String soapfault = null; // Setting wreply url from sp config setReplyToURL(request); processor = RequestProcessorFactory.getInstance().getRequestProcessor(request.getAction()); if (processor != null) { try { responseToken = processor.process(request); } catch (TrustException e) { soapfault = genFaultResponse(MessageContext.getCurrentMessageContext(), "Sender", "InvalidRequest", e.getMessage(), "none").toStringWithConsume(); } } else { soapfault = genFaultResponse(MessageContext.getCurrentMessageContext(), "Sender", "InvalidRequest", "Invalid Request", "none").toStringWithConsume(); } if (responseToken == null) { responseToken = new ResponseToken(); } if (soapfault != null) { responseToken.setResults(soapfault); } responseToken.setAuthenticated(true); if (request.getReplyTo() != null) { responseToken.setReplyTo(request.getReplyTo()); } else { responseToken.setReplyTo(request.getRealm()); } if (responseToken.getReplyTo() == null) { throw new Exception("ReplyTo address not found"); } responseToken.setContext(request.getContext()); return responseToken; }
Passive STS
最新推荐文章于 2024-10-17 23:14:09 发布