WebChat Plugin Fails To Load

I upgraded by OpenFire instance to 3.9.3. While the FastPath plugin loads the WebChat plugin fails to load.

Java Version:
1.7.0_55 Oracle Corporation – Java HotSpot™ Server VM
Appserver:
jetty/7.x.y-SNAPSHOT

2014.11.17 11:42:44 org.jivesoftware.openfire.container.PluginManager - Error loading plugin: /opt/openfire/plugins/webchat

java.lang.NoClassDefFoundError: org/mortbay/jetty/servlet/Context

at java.lang.Class.getDeclaredConstructors0(Native Method)

at java.lang.Class.privateGetDeclaredConstructors(Class.java:2493)

at java.lang.Class.getConstructor0(Class.java:2803)

at java.lang.Class.newInstance(Class.java:345)

at org.jivesoftware.openfire.container.PluginManager.loadPlugin(PluginManager.java :420)

at org.jivesoftware.openfire.container.PluginManager.access$300(PluginManager.java :80)

at org.jivesoftware.openfire.container.PluginManager$PluginMonitor.run(PluginManag er.java:1074)

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)

at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301 (ScheduledThreadPoolExecutor.java:178)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Schedu ledThreadPoolExecutor.java:293)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

at java.lang.Thread.run(Thread.java:745)

Caused by: java.lang.ClassNotFoundException: org.mortbay.jetty.servlet.Context

at java.net.URLClassLoader$1.run(URLClassLoader.java:366)

at java.net.URLClassLoader$1.run(URLClassLoader.java:355)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:354)

at java.lang.ClassLoader.loadClass(ClassLoader.java:425)

at java.lang.ClassLoader.loadClass(ClassLoader.java:358)

… 14 more

I have managed to find a few references to this issue but no resolutions.

I have tried deleting - from the underlying filesystem - all references to the webchat.jar and then reloading. This make no difference.

I’m not 100% sure on this but I don’t believe the version of jetty that webchat is compiled with is compatible with openfire’s version anymore.

You should be able to run the webchat war file from any other java app server tho like tomcat or jboss.

So I have a Jetty-9.2.5 container running, and I deployed the webchat.war file. It is available at host:8080/webchat - I get a “Fastpath Web Chat” page. And a “Click on one of the following workgroups to join.” … but no workgroups are listed? Is there someway to configure what server it tries to talk to, or how it authenticates? Then if I restart I can pick the server/port, and a click-this-image appears [although the image link is broken]. Clicking the broken image link gives me an empty offline dialog.

. . . . . Dec 12, 2014 10:42:53 AM org.jivesoftware.webchat.util.WebLog logError

WARNING: Could not retrieve image: offline

remote-server-not-found(404)

at com.jivesoftware.smack.workgroup.user.Workgroup.getChatSettings(Unknown Source)

at com.jivesoftware.smack.workgroup.user.Workgroup.getChatSettings(Unknown Source)

at org.jivesoftware.webchat.util.SettingsManager.getImage(SettingsManager.java:147 )

at org.jivesoftware.webchat.FastpathServlet.service(FastpathServlet.java:174)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)

at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:800)

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1669)

at org.jivesoftware.webchat.SetCharacterEncodingFilter.doFilter(SetCharacterEncodi ngFilter.java:45)

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1652)

at org.jivesoftware.webchat.SetupFilter.doFilter(SetupFilter.java:92)

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1652)

at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)

at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)

at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)

at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:22 3)

at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:11 25)

at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)

at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185 )

at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:105 9)

at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)

at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandler Collection.java:215)

at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.jav a:110)

at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)

at org.eclipse.jetty.server.Server.handle(Server.java:497)

at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)

at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:248)

at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)

at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:620 )

at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:540)

at java.lang.Thread.run(Thread.java:745)

. Dec 12, 2014 10:42:57 AM org.jivesoftware.webchat.util.WebLog logError

WARNING: Error retrieving chat setting using key=no_help_text and workgroup=demo@workgroup.tun.mormail.com

remote-server-not-found(404

Unfortunately the webchat plugin is a bit out of date and has some minor issues like that ( I’m working on updating it slowly ).

To access a workgroup you can go to http://host:port/path/start.jsp?workgroup=workgroup_name@service_name.server_nam e.tld obviously replacing the placeholders. This will get you to the workgroup form to initiate a chat.

you can find the value that goes in the workgroup= part on the workgroup settings page in openfire, would be something like myworkgroup@workgroup.example.com

thanks brandon, that worked for me to verify the existence of the workgroup.

How is it with the working on this?