jqueryweb-servicesopenmeetings

Add new user in apache openmeetings API via Ajax does not work


I'm using apache api openmeetings. When i try to add a new user, I get HTTP Response Error 500 and the following error in the openmeetings log:

ERROR 09-06 11:18:00.938 22023 230 o.a.o.w.UserWebService [0.0-5080-exec-2] - addNewUser
java.lang.NullPointerException: null
        at org.apache.openmeetings.webservice.UserWebService.add(UserWebService.java:171)

this is my code:

function create_user() {

  $.ajax({
    method: "POST",
    url: "http://localhost:5080/openmeetings/services/user?sid=28647b3d-ffe2-4c1b-9835-9856b6c3d11b",
    data: {
      user: JSON.stringify({
        address: {
          country: "IT",
          deleted: false,
          email: "test@test.com",
          id: "2"
        },
        externalId: "1",
        externalType: "myCMS",
        firstname: "Test",
        id: "2",
        languageId: "5",
        lastname: "Prova",
        login: "Test",
        password: "Prova1*",
        rights: null,
        timeZoneId: "Europe/Rome",
        type: "user"
      }),
      confirm: false
    },
    dataType: "json",
    success: function(data) {
      consol.log(data);
    }
  });
}

Solution

  • OK, This is clearly bad design in OM 3.3.1 :(

    Both user and confirm parameters are annotated as @QueryParam (should be @FormParam)

    So you have to call it as follows:

    $.ajax({
    method: "POST",
    url: "http://localhost:5080/openmeetings/services/user?sid=28647b3d-ffe2-4c1b-9835-9856b6c3d11b&user=" + escape(JSON.stringify({
        address: {
          country: "IT",
          email: "test@test.com"
        },
        externalId: "1",
        externalType: "myCMS",
        firstname: "Test",
        languageId: "5",
        lastname: "Prova",
        login: "testX879",
        password: "ACDfium1*",
        timeZoneId: "Europe/Rome",
        type: "user"
      })) + '&confirm=false',
    data: {},
    dataType: "json",
    success: function(data) {
      consol.log(data);
    }
    });
    

    This is ugly and will be definitely fixed in 3.3.2+

    Here is the JIRA: https://issues.apache.org/jira/browse/OPENMEETINGS-1693