Updated sources for webchat - works with 3.7.0

Hi all.

Maybe I’m being dense, but it seems that there’s a trivial fix for getting webchat working with 3.7.0 - just a matter of using the new jetty 7 (which work almost out-of-the-box once you rename the classes).

Attached is a patch and binary WAR file

5 Likes

Hi Issac,

Thanks for the patch. Would you like to become the maintainer of webchat? Positions are open!

daryl

Thanks for that, I will test it and post findings. Although now I run Webchat on Tomcat and honestly must say it meets my requirements.

Update: grabbed binary (thanks Issac) and applied, seems to be all working as it used to be.

I wouldn’t jump so far - for one thing, I’m not sure how long I’m going to have time to hack on it; for another, I’m still lost figuring out how the heck to get to the sources of src\webapp\WEB-INF\lib\workgroup.jar which has much of the code that I’m looking to work with now.

Having said that, I’d still be happy to contribute as long as I stay assigned on this at my day job, and I guess some progress on the plugin is better than none

1 Like

Arghhh I don’t know what is wrong with my configuration that it still isn’t working. I keep getting 503 service unavailable every troubleshooting step I take. For background

OF 3.7 all latest source compiled/Done JRE Less folder from site, as well as installer.

openfire-service standard as well as the modified for 64bit jvm.

On a Win 2008 Enterprise box with 24gb of ram, Sql Server 2005 Enterprise. There is something I am not getting. Still trying though… sigh.

Can you please provide an installation instruction to get Web Chat work? There is nothing really well written down and I gladly review and extend it to get a documentation of FastPath / Webchat.

Thanks Issac

I considered updating the README, but honestly, there’s nothing else to really add if you’re going to user the built-in jetty server (and if you’re deploying for production, you should either know what to do with a WAR file, or figure it out so you have some idea what you’ve done, or else re-think what you;re doing (I was personally in the second group)).

  1. Upload the fastpath plugin

  2. Upload the webchat plugin

  3. In the fastpath menu, there should be a link to “tools”

  4. Click on the webchat link - you’ll be prompted to set up the plugin - the defaults are probably correct

  5. To give it a spin, either add your user to the “demo” group and login with your Spark client, or else use the login demo/demo which Fastpath sets up by default

That’s it.

Hello Issac. I can make the webchat work locally but how do i point it to my local server from the web? Is that something that I am going to need a lot more reading on or is it a simple thing to do. I have seen serveral examples around of the html script to point it to a particular domain but I don’t quite follow that because my server is not running on a domain. How do I make my server run through the domain? I am a little confused as you can see about how to make this function properly. Can you point me in the right direction? Thanks

Issac could you by any chance explain how to patch the webchat.war file or at least point me to a site that does? Setting up Openfire was a breeze, but I’m a bit lost on this part.

I personally don’t have a clue what to do with a war file, but I got stuck with the project… Any and all help would be appreciated.

I simply uploaded Isaac’s WAR file in the plugins section of the admin console and voila, it worked. The “Tools” link appeared inside the Fastpath page, and when I clicked it I didn’t get any errors.

Didn’t do anything with the “patch” file, which appears to be more of a log than an executable patch (but I could be mistaken).

Interestingly enough, I deleted the existing webchat.war file and the webchat folder (for the 5th time) and it now works (and showing v. 4.0.2).
Thanks Joey! And thank you Issac for fixing this plugin.

So, no matter what I try, I still get an error.

Any help would be GREATLY appreciated!

http://127.0.0.1:9090/webchat

HTTP ERROR: 503

Problem accessing /webchat. Reason:

Service Unavailable


Powered by Jetty://

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

2011.05.16 08:21:05 Committed before 404 null

2011.05.16 08:21:05 /webchat

java.lang.IllegalStateException: Committed

at org.eclipse.jetty.server.Response.resetBuffer(Response.java:1047)

at org.eclipse.jetty.server.Response.sendError(Response.java:265)

at org.eclipse.jetty.server.Response.sendError(Response.java:367)

at javax.servlet.http.HttpServletResponseWrapper.sendError(HttpServletResponseWrap per.java:128)

at com.opensymphony.module.sitemesh.filter.PageResponseWrapper.sendError(PageRespo nseWrapper.java:175)

at org.eclipse.jetty.servlet.DefaultServlet.doGet(DefaultServlet.java:451)

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

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

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

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

at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:11 8)

at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)

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

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

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

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

at org.eclipse.jetty.server.session.SessionHandler.handle(SessionHandler.java:182)

at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:93 3)

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

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

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

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

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

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

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

at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:559)

at org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConne ction.java:992)

at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:541)

at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:203)

at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:406)

at org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:4 62)

at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436)

at java.lang.Thread.run(Unknown Source)

All I can suggest is to clear out any fastpath webchat plugins you may have downloaded/installed. The ONLY webchat plugin you want to use is the one in this thread.

I had similar problems, but I found I didn’t have a good version of java running. I was using Ubuntu server on a powerpc, and apparently sun doesn’t make a solid java port for the ppc linux clientele. I ended up using a different intel x86 based computer, Ubuntu 10 server, installed sun java from the repo’s, and installed everything successfully.

Another thread mentioned trying port 7070 instead of 9090. But that didn’t really work for me - 9090 worked great for me.

So, to give a little more detail.

This is Openfire 3.7.0 ronning on a Windows 2k3 machine.

I’m using the embedded web server.

I have tried to delete the plugin via the browser (which fails), then stoptting the openfire service and removing the webchat.war and webchat folder from C:\Program Files\Openfire\plugins.

I then installed the webcaht.war on here, which gets installed, but when I click on tools is when I get that error.

I have tried it about 8 times now with the same results. ;(

Here’s some more errors:

2011.05.16 08:35:52 Error unloading plugin webchat. Will attempt again momentarily.

2011.05.16 08:36:00 Failed startup of context WebAppContext@1401c44@1401c44/webchat,file:/C:/Program%20Files/Openfire/plugins /webchat/,C:\Program Files\Openfire\plugins\webchat

java.net.URISyntaxException: Illegal character in path at index 16: file:/C:/Program Files/Openfire/plugins/webchat/lib/plugin-webclient.jar

at java.net.URI$Parser.fail(Unknown Source)

at java.net.URI$Parser.checkChars(Unknown Source)

at java.net.URI$Parser.parseHierarchical(Unknown Source)

at java.net.URI$Parser.parse(Unknown Source)

at java.net.URI.(Unknown Source)

at java.net.URL.toURI(Unknown Source)

at org.eclipse.jetty.webapp.WebInfConfiguration.preConfigure(WebInfConfiguration.j ava:81)

at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:347)

at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java :55)

at org.jivesoftware.liveassistant.WebClientPlugin.initializePlugin(WebClientPlugin .java:100)

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

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

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

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.util.concurrent.FutureTask$Sync.innerRunAndReset(Unknown Source)

at java.util.concurrent.FutureTask.runAndReset(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101 (Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodi c(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknow n Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

2011.05.16 08:36:00 Error unloading plugin webchat. Will attempt again momentarily.

2011.05.16 08:36:08 Error unloading plugin webchat. Will attempt again momentarily.

2011.05.16 08:36:17 Error unloading plugin webchat. Will attempt again momentarily.

2011.05.16 08:36:25 Error unloading plugin webchat. Will attempt again momentarily.

I’m pretty new to openfire, so I can’t really offer much in the way of support. All I could really suggest is doing a complete reinstall or possibly even a clean build where you install the right plugin from the start.

Oh and maybe check your java runtime installation - make sure it’s the latest version and is the sun branded runtime. It seems to be a bit picky about that.

Hi!!!

I’ve followed step by step the instructions that have given, but none has worked, i´m still having the same error “Service Unavailable” and i don´t know what to do. please help!!!

HTTP ERROR: 503

Problem accessing /webchat. Reason:

Service Unavailable

Powered by Jetty://

i get this error in warining log:

2011.06.03 18:22:56 Committed before 404 null

2011.06.03 18:22:56 /webchat

java.lang.IllegalStateException: Committed

at org.eclipse.jetty.server.Response.resetBuffer(Response.java:1047)

at org.eclipse.jetty.server.Response.sendError(Response.java:265)

at org.eclipse.jetty.server.Response.sendError(Response.java:367)

at javax.servlet.http.HttpServletResponseWrapper.sendError(HttpServletResponseWrap per.java:128)

at com.opensymphony.module.sitemesh.filter.PageResponseWrapper.sendError(PageRespo nseWrapper.java:175)

at org.eclipse.jetty.servlet.DefaultServlet.doGet(DefaultServlet.java:451)

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

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

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

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

at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:11 8)

at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)

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

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

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

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

at org.eclipse.jetty.server.session.SessionHandler.handle(SessionHandler.java:182)

at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:93 3)

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

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

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

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

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

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

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

at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:559)

at org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConne ction.java:992)

at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:541)

at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:203)

at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:406)

at org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:4 62)

at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436)

at java.lang.Thread.run(Unknown Source)

Any ideas?

Thanks in advance!!!

I am trying to connect a drupal web site with openfire 3.7

I tried everything I found on the net, but it doesn’t work.

In drupal I tried the modules xmpp framework and dxmpp

Drupal is able to create the users in openfire, but is not login in.

I uploaded the webchat module with this one.

The only error I see is:

2011.07.06 17:50:22 Error loading plugin: /usr/share/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:2389)

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

at java.lang.Class.newInstance0(Class.java:326)

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

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:1067)

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

at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)

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

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101 (ScheduledThreadPoolExecutor.java:98)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodi c(ScheduledThreadPoolExecutor.java:180)

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

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java: 886)

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

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

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

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

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

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

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

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

… 17 more

Can somebody help me?

thanks,

I’m so sorry, but i did not understand.

In which file do I apply this pacth? It’s is just like in LINUX, that u have to run the patch file < patchfile command?

Patch file is for the source code i believe. But i think you can just use the attached war file instead.

Daryl, some people are suggesting to put this unofficial 4.0.2 war file on the plugins page, so it owuld be automatically available via Admin Console, as the current version is not compatible with 3.7.0. What do you think?