Index: lams_central/src/java/org/lamsfoundation/lams/util/CentralConstants.java =================================================================== diff -u -r87e2cccf93ac20d2b8e953cea2cf36c8a8fb5b14 -r91b5a45ed577ce52a8447ffaec3e6b09be082a0f --- lams_central/src/java/org/lamsfoundation/lams/util/CentralConstants.java (.../CentralConstants.java) (revision 87e2cccf93ac20d2b8e953cea2cf36c8a8fb5b14) +++ lams_central/src/java/org/lamsfoundation/lams/util/CentralConstants.java (.../CentralConstants.java) (revision 91b5a45ed577ce52a8447ffaec3e6b09be082a0f) @@ -90,6 +90,8 @@ public static final String METHOD_SINGLE_STUDENT_PROGRESS = "singleStudentProgress"; public static final String METHOD_JOIN_LESSON = "join"; + + public static final String METHOD_VERIFY_EXT_SERVER = "verify"; public static final String ATTR_COURSE_ID = "courseId"; Index: lams_central/src/java/org/lamsfoundation/lams/webservice/xml/LessonManagerServlet.java =================================================================== diff -u -rf545ee701eabf0393acaac0e790ae89a9c498b02 -r91b5a45ed577ce52a8447ffaec3e6b09be082a0f --- lams_central/src/java/org/lamsfoundation/lams/webservice/xml/LessonManagerServlet.java (.../LessonManagerServlet.java) (revision f545ee701eabf0393acaac0e790ae89a9c498b02) +++ lams_central/src/java/org/lamsfoundation/lams/webservice/xml/LessonManagerServlet.java (.../LessonManagerServlet.java) (revision 91b5a45ed577ce52a8447ffaec3e6b09be082a0f) @@ -219,17 +219,29 @@ } else if (method.equals("toolOutputsAllUsers")) { lsId = new Long(lsIdStr); element = getToolOutputs(document, serverId, datetime, hashValue, username, lsId, courseId, false); + } else if (method.equals("authoredToolOutputsAllUsers")) { lsId = new Long(lsIdStr); element = getToolOutputs(document, serverId, datetime, hashValue, username, lsId, courseId, true); + } else if (method.equals("toolOutputsUser")) { lsId = new Long(lsIdStr); element = getToolOutputsForUser(document, serverId, datetime, hashValue, username, lsId, courseId, false, outputsUser); + } else if (method.equals("authoredToolOutputsUser")) { lsId = new Long(lsIdStr); element = getToolOutputsForUser(document, serverId, datetime, hashValue, username, lsId, courseId, true, outputsUser); + + } else if (method.equals(CentralConstants.METHOD_VERIFY_EXT_SERVER)) { + verify(serverId, datetime, hashValue); + response.setContentType("text/html"); + out.write("1"); + out.flush(); + out.close(); + return; + } else { String msg = "Method :" + method + " is not recognised"; LessonManagerServlet.log.error(msg); @@ -847,6 +859,27 @@ } } + + /** + * Verifies external server. Also it has a WSDL analog + * org.lamsfoundation.lams.webservice.VerificationServiceSoapBindingImpl + * + * @param serverId + * @param datetime + * @param hash + * @return + * @throws Exception + */ + public boolean verify(String serverId, String datetime, String hash) throws Exception { + try { + ExtServerOrgMap serverMap = integrationService.getExtServerOrgMap(serverId); + Authenticator.authenticate(serverMap, datetime, hash); + return true; + } catch (Exception e) { + LessonManagerServlet.log.error("Problem verifying external server: " + serverId, e); + throw new Exception(e); + } + } /** * Gets the outputs for an activity for a specific learner and returns them in XML format