diff options
Diffstat (limited to 'eaaf_modules/eaaf_module_auth_sl20/src/main')
-rw-r--r-- | eaaf_modules/eaaf_module_auth_sl20/src/main/java/at/gv/egiz/eaaf/modules/auth/sl20/tasks/AbstractReceiveQualeIDTask.java | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/eaaf_modules/eaaf_module_auth_sl20/src/main/java/at/gv/egiz/eaaf/modules/auth/sl20/tasks/AbstractReceiveQualeIDTask.java b/eaaf_modules/eaaf_module_auth_sl20/src/main/java/at/gv/egiz/eaaf/modules/auth/sl20/tasks/AbstractReceiveQualeIDTask.java index 761c8b24..cb9f54e3 100644 --- a/eaaf_modules/eaaf_module_auth_sl20/src/main/java/at/gv/egiz/eaaf/modules/auth/sl20/tasks/AbstractReceiveQualeIDTask.java +++ b/eaaf_modules/eaaf_module_auth_sl20/src/main/java/at/gv/egiz/eaaf/modules/auth/sl20/tasks/AbstractReceiveQualeIDTask.java @@ -60,7 +60,7 @@ public abstract class AbstractReceiveQualeIDTask extends AbstractAuthServletTask //A-Trust does not SET http-header 'SL2ClientType' with value 'native' //If A-trust sends an error, its maybe FrontChannel on DataURL - boolean aTrustErrorWorkAround = false; + //boolean aTrustErrorWorkAround = false; try { //get SL2.0 command or result from HTTP request @@ -108,7 +108,7 @@ public abstract class AbstractReceiveQualeIDTask extends AbstractAuthServletTask SL20Constants.SL20_COMMAND_PARAM_GENERAL_RESPONSE_ERRORMESSAGE, false); log.info("Receiving errorcode: {} with msg: {} from VDA! Stopping auth-process ... "); - aTrustErrorWorkAround = true; + //aTrustErrorWorkAround = true; throw new SL20Exception("sl20.08", new Object[] {errorCode, errorMsg}); } else { @@ -174,7 +174,8 @@ public abstract class AbstractReceiveQualeIDTask extends AbstractAuthServletTask //write SL2.0 response if (sl20ReqObj != null) - buildResponse(request, response, sl20ReqObj, aTrustErrorWorkAround); + //buildResponse(request, response, sl20ReqObj, aTrustErrorWorkAround); + buildResponse(request, response, sl20ReqObj); else buildErrorResponse(request, response, "2000", "General transport Binding error"); @@ -206,13 +207,16 @@ public abstract class AbstractReceiveQualeIDTask extends AbstractAuthServletTask private void buildErrorResponse(HttpServletRequest request, HttpServletResponse response, String errorCode, String errorMsg) throws Exception { final ObjectNode error = SL20JSONBuilderUtils.createErrorCommandResult(errorCode, errorMsg); - final ObjectNode respContainer = SL20JSONBuilderUtils.createGenericRequest( - UUID.randomUUID().toString(), + final ObjectNode errorCommand = SL20JSONBuilderUtils.createCommandResponse(SL20Constants.SL20_COMMAND_IDENTIFIER_ERROR, error, null); + + + final ObjectNode respContainer = SL20JSONBuilderUtils.createGenericResponse( + UUID.randomUUID().toString(), + null, null, - error , + errorCommand , null); - - log.debug("Client request containts 'native client' header ... "); + log.trace("SL20 response to VDA: " + respContainer); final StringWriter writer = new StringWriter(); writer.write(respContainer.toString()); @@ -224,7 +228,7 @@ public abstract class AbstractReceiveQualeIDTask extends AbstractAuthServletTask } - private void buildResponse(HttpServletRequest request, HttpServletResponse response, JsonNode sl20ReqObj, boolean aTrustErrorWorkAround) throws IOException, SL20Exception, URISyntaxException { + private void buildResponse(HttpServletRequest request, HttpServletResponse response, JsonNode sl20ReqObj) throws IOException, SL20Exception, URISyntaxException { //create response final Map<String, String> reqParameters = new HashMap<String, String>(); reqParameters.put(EAAFConstants.PARAM_HTTP_TARGET_PENDINGREQUESTID, pendingReq.getPendingRequestId()); @@ -257,8 +261,7 @@ public abstract class AbstractReceiveQualeIDTask extends AbstractAuthServletTask //workaround for A-Trust if (request.getHeader(SL20Constants.HTTP_HEADER_SL20_CLIENT_TYPE) != null && - request.getHeader(SL20Constants.HTTP_HEADER_SL20_CLIENT_TYPE).equals(SL20Constants.HTTP_HEADER_VALUE_NATIVE) - || !aTrustErrorWorkAround) { + request.getHeader(SL20Constants.HTTP_HEADER_SL20_CLIENT_TYPE).equals(SL20Constants.HTTP_HEADER_VALUE_NATIVE)) { log.debug("Client request containts 'native client' header ... "); log.trace("SL20 response to VDA: " + respContainer); final StringWriter writer = new StringWriter(); |