Webchat re-compiled for openfire 3.7.0

This version of webchat uses the http-bind (7070) port instead of the admin port (9090). It is tested ok for Jetty 7 in Openfire 3.7.0

http://your-server:7070/webchat/
webchat.war (2232020 Bytes)

1 Like

how to install it?

http://community.igniterealtime.org/docs/DOC-1876

This doesn’t appear to be working. Getting this error repeatedly in the error.log:

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

This post refers to the error:

http://community.igniterealtime.org/blogs/ignite/2011/03/02/openfire-370-has-bee n-released#comment-6271

The fix is to replace lines 25-26 (in r10482)

import org.mortbay.jetty.handler.ContextHandlerCollection;

import org.mortbay.jetty.webapp.WebAppContext;

with

import org.eclipse.jetty.server.handler.ContextHandlerCollection;

import org.eclipse.jetty.webapp.WebAppContext;

I’m not set up to compile this or anything java, Dele would you mind taking another pass at it?

I have done that already, but do not have a 3.7.0 install to test with. I will try and find a free PC over the weekend to confirm the build.

This is the compled source code

package org.jivesoftware.liveassistant;

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

import org.jivesoftware.util.JiveGlobals;
import org.jivesoftware.util.Log;
import org.jivesoftware.openfire.container.AdminConsolePlugin;
import org.jivesoftware.openfire.container.Plugin;
import org.jivesoftware.openfire.container.PluginManager;
import org.jivesoftware.openfire.XMPPServer;

import org.eclipse.jetty.server.handler.ContextHandlerCollection;
import org.eclipse.jetty.webapp.WebAppContext;

import java.io.File;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**

  • Plugin implementation to allow the web client to operate as a plugin in Jive Messenger.
  • It does so, by installing a “liveassistant” web application into the embedded Jetty
  • server of Jive Messenger.
  • @author Matt Tucker
    */
    public class WebClientPlugin implements Plugin {

private WebAppContext context;

I recompiled with those source updates, but it’s still not deploying on Jetty.

am I using a different source or what happened to the

import org.mortbay.jetty.servlet.Context;

When checking on jetty migrations it should become

org.eclipse.jetty.servlet.ServletContextHandler

I think it’s also using that it’s being used here :

public class WebClientPlugin implements Plugin {

private Context context;

So wouldn’t we also want to update private Context context

to

private ServletContextHandler context

??

Sorry still new to java, and I also might be working with the wrong source, it’s rev 12005

AHA Webchat isn’t loading because of it being built for jetty6, When updating from mortbay to eclipse it updates the libraries properly to Jetty7, however it 503’s. BECAUSE Webchat suffers from the same issue that openfire admin had when it upgraded to 7. Non Escaped spaces in the uri’s. I’m pretty sure this is it. Working on testing it.

Also you were right I missed the part about changing the method, which is why I misunderstood.

Until someone can fix the non escaped spaces errors, I have now uploaded a new version that uses the http-bind port (7070) instead of admin port (9090).

I tested it ok.

webchat-370.jpg

hello, I recompiled webchat.war (attached file doesn’t work), however, utf-8 encoding seems to be broken (only POST to queue.jsp is affected, the rest is ok).

when sniffing http headers, there’s “Content-Encoding: text/html; charset=ISO-…” instead of UTF-8.

Thinking about it, 7070 is a lot easier and better to work with from a security perspective. So I like the change. Good Call Dele, thanks for all your help!

Hello,

i’m getting this error in eclipse when i try to build webchat. what do i do?

[javac] C:\PegaChat\workspace\webchat\src\plugin\java\org\jivesoftware\liveassistant\We bClientPlugin.java:24: package org.mortbay.jetty.servlet does not exist

[javac] import org.mortbay.jetty.servlet.Context;

Ok i resolved the issue. The build works now.

**Old **

public class WebClientPlugin implements Plugin {

private Context context;

NEW

public class WebClientPlugin implements Plugin {

private WebAppContext context;

Hello,

How do i apply the same changes on source code ? From port 9090 to port 7070.

Could not find it …

Thanks for your attention,

Andre

it works with 3.7.0.0

sir how do you actually build the webchat source code? please help i need to build the webchat source code