Index: lams_central/src/java/org/lamsfoundation/lams/webservice/xml/LessonManagerServlet.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/webservice/xml/LessonManagerServlet.java,v diff -u -r1.48.2.22 -r1.48.2.23 --- lams_central/src/java/org/lamsfoundation/lams/webservice/xml/LessonManagerServlet.java 20 Dec 2016 15:45:56 -0000 1.48.2.22 +++ lams_central/src/java/org/lamsfoundation/lams/webservice/xml/LessonManagerServlet.java 30 Dec 2016 13:50:51 -0000 1.48.2.23 @@ -28,6 +28,7 @@ import javax.xml.transform.TransformerConfigurationException; import javax.xml.transform.TransformerException; +import org.apache.commons.lang.StringEscapeUtils; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import org.lamsfoundation.lams.gradebook.GradebookUserLesson; @@ -926,9 +927,10 @@ String lastName = null; String email = null; if (firstNames != null) { - firstName = firstNameArray[i]; - lastName = lastNameArray[i]; - email = emailArray[i]; + //unescape values passed from the external server. Works OK even if the values were not escaped + firstName = StringEscapeUtils.unescapeCsv(firstNameArray[i]); + lastName = StringEscapeUtils.unescapeCsv(lastNameArray[i]); + email = StringEscapeUtils.unescapeCsv(emailArray[i]); } if (StringUtils.isNotBlank(userName)) { @@ -943,9 +945,10 @@ String lastName = null; String email = null; if (firstNames != null) { - firstName = firstNameArray[i]; - lastName = lastNameArray[i]; - email = emailArray[i]; + //unescape values passed from the external server. Works OK even if the values were not escaped + firstName = StringEscapeUtils.unescapeCsv(firstNameArray[i]); + lastName = StringEscapeUtils.unescapeCsv(lastNameArray[i]); + email = StringEscapeUtils.unescapeCsv(emailArray[i]); } if (StringUtils.isNotBlank(userName)) {