Hello Community:

Technical details
OM 3.2.0 (Revisión 1782178)
Moodle 3.2
OM-moodle-plugin 2.0.2.3 2017031011

I am developing a moodle integration using openmeetings(3.2.0). I am using
OM plugin (downloaded from moodle.org/plugins) In addition to the features
offered by the plugin, I need to add the functionality of knowing how many
concurrent users are in each om room.

To accomplish this task, I'm using webservice RoomWebService
(http://openmeetings.apache.org/openmeetings-webservice/apidocs/index.html).

Using "room" service and the "counters" method.

/* START: DOCUMENTATION */

    counters

    @GET
     @Path(value="/counters")
    public List<RoomCountBean> counters(@QueryParam(value="sid")

 String sid,

 @QueryParam(value="id")

 List<Long> ids)
                                                                throws
org.apache.openmeetings.webservice.error.ServiceException

    Returns current users for rooms ids

    Parameters:
        sid - - The SID of the User. This SID must be marked as Loggedin
        ids - - id of the room you need counters for
    Returns:
        - current users for rooms ids
    Throws:
        org.apache.openmeetings.webservice.error.ServiceException


/* END: DOCUMENTATION */

Using this documentation i constructed an url that is as follows:
http://OM-Server-IP:5080/meetingcenter/services/room/
counters/?&sid=d69ec56c-a2e9-4fd5-9712-e460748dc1db&id=5
<http://om-server-ip:5080/meetingcenter/services/room/counters/?&sid=d69ec56c-a2e9-4fd5-9712-e460748dc1db&id=5>

Where
 Meetingcenter is the om installation folder (custom context)
Room / counters is the service with the called method
 sid=d69ec56c-a2e9-4fd5-9712-e460748dc1db hash login
  id=5 the id of the room that you want to consult.

Using this url and method i get error responses.


The documentation references the type List <Long>,
So it could be an array???.

These are the responses i am getting according to the values that i tried.

 id=5: "No message body writer has been found for class
java.util.ArrayList, ContentType: application/json"

 id=[5]: (NULL). Using browser console 404

 id={5}: (NULL). Using browser console 400

 id[]=5: "HTTP Status 500 - Failed to execute query "SELECT r FROM Room r
WHERE r.deleted = false AND r.id IN :ids". Check the query syntax for
correctness. See nested exception for details."

 id[0]=5: "HTTP Status 500 - Failed to execute query "SELECT r FROM Room r
WHERE r.deleted = false AND r.id IN :ids". Check the query syntax for
correctness. See nested exception for details."


Apparently There is something wrong with sending the room id's.

To corroborate that correct information is being sent as hash, information
is requested from another web service with positive results. For example:

  http://OM-Server-IP:5080/meetingcenter/services/user?
sid=f02e731d-2fa4-496c-a78f-86f9d6c6b382
<http://om-server-ip:5080/meetingcenter/services/user?sid=f02e731d-2fa4-496c-a78f-86f9d6c6b382>

And the answer is an array with a full list of all the users that exist in
this instance:

  {"userDTO":[{"address":{"country":"US","deleted":false,"email":"
[email protected]","id":1},"firstname":"firstname","id":1,"languageId":8,"
lastname":"lastname","login":"root","rights":["Admin","Soap"
,"Room","Login","Dashboard"],"timeZoneId":"America/Mexico_
City","type":"user"}]}



Any clue????

Thanks in advance
Ramón

Reply via email to