powered by Jive Software

Openfire Plugin servlet path change

Hi,
I know I’m quite a nuisance :slight_smile: , I noticed (without changing code) that the mapped path for plugin servlet appears to have changed.
I had noticed previously that plugin jsp paths had changed a little, but that was easier to adapt.

Specifically, I had a few plugins with paths mapped such as /servlet which would then be reachable at
openfire/plugins/servlet

Now it seems they have become openfire/plugins/pluginname/servlet.
Is this web-custom.xml correct?

<servlet>
    <servlet-name>LiveboxListener</servlet-name>
    <servlet-class>org.jivesoftware.openfire.plugin.xmpp2apns.LiveboxListener</servlet-class>
    <load-on-startup>0</load-on-startup>
</servlet>
<!-- Servlet mappings -->
<servlet-mapping>
    <servlet-name>LiveboxListener</servlet-name>
    <url-pattern>/xmpp2apns</url-pattern>
</servlet-mapping>

Through postman I find I can now access said servlet only by going to openfire/plugins/xmpp2apns/xmpp2apns

Or am I missing something fundamental? (Never been too good at mappings).

Thanks in advance,
Paolo Manili

Do you know when you saw this change in behaviour?

Greg

I am not sure exacyly when the change occurred, for quite some time I used an Openfire 4.0.4 based development environment for our plugins, given our deployed installations spanned Openfire 4.0.4-4.1.6.
I think the problem only really showed up after 4.3 during my recent efforts to migrate them to Maven instead of Ant to be able to deploy Openfire 4.4.

Having re-read what you’ve got here, I think it’s working as expected.

Servlet “SSS” in plugin “PPP” will be found at http://localhost:9090/plugins/PPP/SSS - this has always been the case for as long as I can remember (at least since Openfire 3.6.4), and presumably exists to avoid two plugins having a Servlet with a generic name (e.g. show-config) from conflicting with each other.

So your LiveboxListener in your web-custom.xml will be accessable at http://localhost:9090/plugins/PPP/xmpp2apns where PPP is the name (*) of your plugin.

(*) Or possible the name of the JAR/WAR file it’s contained in. I forget which.

Greg