Bug: Chatrooms created with MUCService plugin crash admin ui

I’m running openfire 3.9.3 as a “windows service” with the builtin JVM (~1.5M for both xms/xmx) and embedded database. The MUC Service plugin is v0.2.0 (7/2014).

Using Soap UI, I created a chat room using the “http://myserver.local:9090/plugins/mucservice/chatrooms?servicename=myservice” URI and the attached “sampleAddRoom.xml” as the body of the POST message. A http-status of 204 (success/no content) is returned. When I open the openfire admin ui and browse to the newly added chat room two things happen:

  1. If I click on the chatroom’s name/link the ui just refreshes and the edit chatroom page never appears. The same happens if I click the edit button.
  2. If I try to delete the chatroom, as soon as I click the big red X distroy button, an exception is thrown (see attached “nullpointerexception.txt”).

Even with debug logging enabled, I see nothing added to any log when I perform either of the above two actions.

=============================================

UPDATE:

By changing a few values in my input file I was able to make this work…

  1. Lowercase’d description, naturalName and roomName
  2. Added a creationDate whose value must be in the same timezone as the server (UTC in my case) (Ex: 2014-08-06T18:32:02.289Z)
  3. Added a modificationDate whose value must be in the same timezone as the server (Ex 2014-08-06T18:32:02.289Z)

any chatroom I make with these updates I can edit and/or destroy via the admin ui

=============================================

Message was edited by: Tony – a few more details added.

I have PM’ed Readeyes, who i think is the author of this plugin. Maybe he will take a look at your issue.

Thy for the report. I will fix the plugin to give more feedback if something went wrong.

The naturalName need to be lowercase. Naturalname and Description can contains uppercased letters, but not the “roomname”.

If you create a new room, you don’t need to set the “creationDate” or the “modificationDate”, but you can if you want.

If you have still some problems with the plugin, please let me know.

Thanks for the update.

I have found that **both **creation and modification date are required, if they are not sent in the POST body, the chat room will be created without issue; however, if you try to edit the chat room within the openfire admin interface, you’ll get the following exception…

java.lang.NullPointerException

at java.util.Calendar.setTime(Unknown Source)

at java.text.SimpleDateFormat.format(Unknown Source)

at java.text.SimpleDateFormat.format(Unknown Source)

at java.text.DateFormat.format(Unknown Source)

at org.jivesoftware.openfire.admin.muc_002droom_002dedit_002dform_jsp._jspService( muc_002droom_002dedit_002dform_jsp.java:500)

at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)

NOTE: my openfire server is running in UTC, but my browser client is in UTC-4.

I have attached an up-to-date POST body that I have been using for testing that appears to work. I string replace the ALLCAPS variables as such:

  • CREATIONDATETIME --> “2014-08-07T11:36:09.119Z” (no quotes)
  • MODIFICATIONDATETIME --> “2014-08-07T11:36:09.119Z” (no quotes)
  • TOLOWEREDROOMNAME --> “deleteme_20140807113609” (no quotes)
  • MUCOWNERACCOUNTJID --> “servicesadmin@my.domain.net” (no quotes)

The owner account is the same account I am using for basic authentication. While the MUCRoomController.java’s createRoom method appears to support an emtpy owners list Ex. “”, I have found that if I don’t specifiy at least one owner, I’ll get http-status 404 “not found” response.
SubStringVersion.xml (1023 Bytes)

Thy for update. I will investigate to this issue.

This needs a ticket in Jira