Perform Administrative tasks from external application

I was wondering if there was a way to perform the administrative tasks available in the web console from an external java application, for example through an API such as Smack ?

For now I am considering doing this using HTTP POST and GET calls, but I was wondering if there was a cleaner way to do it such as directly accessing the administrative methods executed by OpenFire within my JAVA program?

Any help or suggestions greatly appreciated !

bump !

Does anybody have a clue about how to do this ? I’m pretty sure I’m not the only one to try calling administrative functions from within an outside app.

I’ve been reading a litle about ad-hoc commands. Are they what I’m looking for and how do I implement them in my application ?

Thanks for any help provided.

Hey Alex,

Openfire has partial support of XEP-0133: Service Administration. You can use ad-hoc commands from Smack to make use of the ad-hoc command services implemented by the server.


– Gato

Hi Gaston,

Thanks for your reply!

I’ll check this right away.

Is there a documentation or a list of the commands that are already implemented ?



Hey Alex,

Is there a documentation or a list of the commands that are already implemented ?

You can either search for it in the forums (it was discussed a long time ago) or browse it in the source code of the server. Let us know if you need to use some service that is not implemented yet.


– Gato

Thanks again Gaston,

I didn’t test everything yet and I need a litle more time for this but I will sure let you know if I find something is missing.

For now it seems that the user managment commands that are available should help me a lot !

Now, one last question and I’ll stop bugging you for the moment :

One of the features I would need would be a roster and subscription administration functionnality. Unfortunately there don’t seem to be any XEP relating to this on the xmpp website.

The rationale for this is I’m developping a client / server application that uses XMPP for data and ‘custom command’ transport purposes. The main idea is that when a new user subscribes to our service (through an HTML form), the XMPP user will be created using ad-hoc commands and his roster should automatically be populated with the application server’s JID, in addition a new bi-directional (both) presence subscription should be created between the server and the user’s client so that each other know when they connect (mostly the server needs to be informed of it) and act accordingly.

Now I did manage to do what I wanted using regular Iq and Presence exchanges between my application server and my client. However I really looks overkill to do it that way and is most certainly error prone… The ideal would be some kind of ad-hoc command that could be thrown by my app server (which of course is an Openfire admin user) to manipulate the roster and presence subscription for that user directly.

Beside, I’m planning to add some features on the application server side to manipulate a user’s roster and presence subscription from within a web page (not by using the administration console).

I dont know if what I want to do was planned by the XMPP gurus out there.

Just let me know if you’ve heard of ad-hoc commands, XEP or plugins that would allow me to do it.

I could even develop the features myself and contribute back to the community if I just knew where to start ^^

Thanks again for helping,