0

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);
    }
  });
}
4

1 回答 1

0

好的,这显然是 OM 3.3.1 中的糟糕设计 :(

userconfirm参数都被注释为( @QueryParamshould be @FormParam)

所以你必须这样称呼它:

$.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);
}
});

这很难看,肯定会在 3.3.2+ 中修复

这是 JIRA:https ://issues.apache.org/jira/browse/OPENMEETINGS-1693

于 2017-09-06T11:30:52.587 回答