Integration of jwchat with wildfire

thanks to this post http://chromus.kajigger.com/?p=100 , which was linked form some forum here, i made it work.

the following was the trick:

Edit OpenFire properties - Log into OpenFire as an administrator and add two server properties:

  • xmpp.httpbind.client.requests.polling = 0

  • xmpp.httpbind.client.requests.wait = 10

These are required because of a bug where JWChat won’t respect the polling values given to it by the server.

thx

Hum tha’'ts strange, I have the same error but even I added these 2 lines, I still got the error Internal Server Error.

Is it possible to see on log file for a more detailled error?

Same problem here, Is there anyone that actually has Jwchat working with Openfire ?

Hum, not for me. I tried many solutions but I gave up…

I use jwchat from the red5 plugin everyday to access my msn account at work. I have no problems with jwchat and Openfire http-bind apart from the ocassional need to reconnect when my pc gets too busy and the connection drops.

So out of curiousty, can someone tell me exactly what is the problem other people are encountering?

-dele

In my case I just get a “Service unavailable” when I try to connect, no matter if I use full login "xxx@xxxx.xxx" or short “xxx” . You can see Jwchat on my test server on http://im.iq-zone.com/red5/.

Thank you dele for your interest

PS: I can connect perfectly using Spark

Message was edited by: geckogt

Just tried it and as you said, I could not register my account and login

What is your domain name?

im.iq-zone.com or iq-zone.com

Are you forwaring the URL with apache or have you configured openfire to port 80?

Try my server at red5.4ng.net.

-dele

From what I can see, you are using apache to forward requests to Openfire on port 9090.

That means that the red5 plugin is not working out of the box and the default http-bind settings will not work. I think you will need to forward your http-bind web requets as well otherwise change the defaults values.

Your config.js file says

httpbase:"/red5/jwchat5",

I suspect that this should be changed to

httpbase:“http://im.iq-zone.com:9090/red5/jwchat5”,

or

httpbase:“http://im.iq-zone.com:8080/http-bind”,

-dele

Hi,

When I use JWChat, it can`t receive and send authorizations requests…

So, client can not add anybody and can not be added.

Do You have any ideas?

My suggestion will be to edit the config.js file and switch on the jwchat debugger. Post the error messages here and maybe somebody might be able to spot the problem.

-dele

It is funny - after turn on debug - authtorization start working… and still working after turn off debug…

Sometime send request twice…

I’'m also having trouble getting JWChat to connect to Openfire HTTP binding. My server is running Openfire 3.3.1 on Linux with Sun JVM 1.5.0_10 on jetty 6.1.x running on all the default server ports, and JWChat 1.0beta2 on Apache 2.2.3 (included with XAMPP for Linux 1.5.5a).

With Openfire debugging turned ON, when I browse to http://cone.example.com/jwchat/ the JWChat Login page appears. Login opens a chat roster window and tries to connect, then immediately displays an error pop-up dialog:

The page at http://cone.example.com says:

Internal Server Error.

Disconnected.

Reconnect?

OK Cancel

Clicking OK brings up another identical dialog, Cancel leaves the roster window, but not connected. In Openfire Log Viewer, no Error, Warn, Info or Debug messages appear.

Browsing directly to the HTTP bind port where Openfire is running at http://cone.example.com:8080/http-bind/ a plain text error is displayed in the web page:

HTTP ERROR: 503

SERVICE_UNAVAILABLE

RequestURI=/http-bind/

Powered by jetty://

In Openfire Log Viewer, no Error, Info or Debug messages appear. Warn messages are:

2007.05.27 06:34:53 Committed before 503 null

2007.05.27 06:34:53 EXCEPTION

java.lang.IllegalStateException: Committed

at org.mortbay.jetty.Response.resetBuffer(Response.java:908)

at org.mortbay.jetty.Response.reset(Response.java:887)

at org.mortbay.jetty.Response.sendError(Response.java:221)

at org.mortbay.jetty.Response.sendError(Response.java:313)

at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:388)

at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollect ion.java:146)

at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)

at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)

at org.mortbay.jetty.Server.handle(Server.java:285)

at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457)

at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.j ava:751)

at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:500)

at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209)

at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)

at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:329)

at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)

This is all the details I could possibly provide about the error, in the hope that someone here can more clearly see the problem. Any help is greatly appreciated.

  • Brett

Well my friends - bingo!

I randomly found this link - http://www.dharwadkar.com/weblog/apache_fc6_01 - apparently, SELinux and its policies are messing with us again. As soon as I checked that option, it started working for me.

Hope this helps.

Thanks bachya,

One thing I forgot to mention in my post is that I’‘m running SUSE Linux 10.1, and there is no SELinux installed. The firewall and AppArmor are also disabled, so there’‘s no network connection blocking that I’'m aware of. Besides, even a direct connection to Openfire without Apache URL re-writing gives me an error. It is a problem with the Openfire http-bind in my case.

I was able to get the SparkWeb client working by installing Openfire on Windows, with a 30-day trial license, however that connection is very slow or unreliable, (but otherwise working, unlike Linux). I would assume that JWChat would work on Windows also, since the http-bind is functional, but haven’'t tried this yet.

Perhaps I should try another distro?

  • Brett

One step closer… Turns out that the RPM version of Openfire 3.3.1 is missing a directory, (a bug in the RPM package). Found the issue resolution here:

Re: SparkWeb cannot log in

http://www.igniterealtime.org/forum/thread.jspa?messageID=149071&#149071

I followed the advice of Constan85, and copied the /spank directory from a Windows installation of Openfire over onto my Linux server, then changed the owner to daemon. (The link to the svn repository does not contain all the necessary files for some reason).

After that, the SparkWeb client connected successfully to Openfire on Linux. Now it’'s probably just a matter of getting JWChat configured properly, and it will work also. I just need to double check the configuration.

  • Brett

UPDATE: After applying the /spank http-bind bug fix (see above) I was able to get JWChat working without any effort. I just installed the Red5 plugin by copying the red5.war file to my /plugins directory. The download is here:

Openfire Beta Plugins

http://www.igniterealtime.org/projects/openfire/plugins-beta.jsp

I have not tried to configure Apache redirection yet, but the plugin worked directly from the Openfire server by pointing my browser at Red5, like these:

JWChat5

http://cone.example.com:9090/red5/

https://cone.example.com:9091/red5/

Evidently the voice chat features of Red5 (Asterisk gateway) require Openfire on Windows, but the text chat works fine on my SUSE Linux 10.1 server. It does NOT have the long delay when logging in like SparkWeb either.

Now that the http-bind problem is solved, I think I’'ll try out Claros Chat and see what happens…

http://www.claros.org/web/showProduct.do?id=2

Evidently the voice chat features of Red5 (Asterisk gateway) require Openfire on Windows

That is not entirely correct. You can do audio and video chat with any user who has a red5 enabled client (pandion, spark and jwchat5). You do need the gateway if you want to make phone calls to telephone users.

-dele

I am also trying to get JWChat to work with Openfire. After reading the posts in this thread, I decided to install red5 (after unsuccessful attempts to use JWChat standalone) and was hoping that the JWChat client included was going to work out of the box. However, when I try it I get ‘‘SERVICE_UNAVAILABLE’’ ( error 503). I am running Openfire 3.3.2 and just downloaded the beta version of the red5 plugin.

My Openfire warn.log file reads (repeatedly):

java.lang.IllegalStateException: Committed

at org.mortbay.jetty.Response.resetBuffer(Response.java:908)

at org.mortbay.jetty.Response.reset(Response.java:887)

at org.mortbay.jetty.Response.sendError(Response.java:221)

at org.mortbay.jetty.Response.sendError(Response.java:313)

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

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

at org.mortbay.jetty.servlet.DefaultServlet.doGet(DefaultServlet.java:355)

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

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

at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:491)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1074)

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.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1065)

at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365)

at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:185)

at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)

at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:689)

at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:391)

at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollect ion.java:146)

at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)

at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)

at org.mortbay.jetty.Server.handle(Server.java:285)

at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457)

at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.j ava:751)

at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:500)

at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209)

at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)

at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:329)

at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)

Does anybody have any suggestions as to what could be going wrong?

-Patricia

Just to clarify my earlier post: I should have said that I was trying to get this to run on Mac OSX. When I install the red5 plugin on Linux, I don’'t seem to have these problems.

-Patricia

Hi Patricia,

I don’'t have access to a Mac, but your web page error and the Java exception look like you have exactly the same problem I had with Openfire 3.3.1 on Linux. The Linux RPM package was missing some files, so perhaps the Mac 3.3.2 package has the same problem.

My solution was to manually copy these files from a working Windows Openfire server to my Linux box. So your working Linux Openfire server could be your source to copy files over to your Mac.

Of course, you should check to see if any of these are missing on your Mac Openfire server in the first place, (and back them up before copying over them), and this assumes that your Linux and Mac installs of Openfire are exactly the same version.

Here’'s a listing from my Linux Openfire server of just the files (under /spank) to move:

linuxpc:/opt/openfire/resources/spank # ls -laR

.:

total 32

drwxr-xr-x 4 daemon daemon 4096 Jun 15 23:11 .

drwxr-xr-x 7 daemon daemon 4096 Jun 15 23:11 …

drwxr-xr-x 2 daemon daemon 4096 Jun 15 23:11 WEB-INF

-rwxr-xr-x 1 daemon daemon 1827 Jun 15 23:11 crossdomain_version6.swf

-rwxr-xr-x 1 daemon daemon 2452 Jun 15 23:11 crossdomain_version8.swf

-rwxr-xr-x 1 daemon daemon 1170 Jun 15 23:11 flash6_gateway.swf

-rwxr-xr-x 1 daemon daemon 222 Jun 15 23:11 index.html

drwxr-xr-x 2 daemon daemon 4096 Jun 15 23:11 scripts

./WEB-INF:

total 12

drwxr-xr-x 2 daemon daemon 4096 Jun 15 23:11 .

drwxr-xr-x 4 daemon daemon 4096 Jun 15 23:11 …

-rwxr-xr-x 1 daemon daemon 1388 Jun 15 23:11 web.xml

./scripts:

total 60

drwxr-xr-x 2 daemon daemon 4096 Jun 15 23:11 .

drwxr-xr-x 4 daemon daemon 4096 Jun 15 23:11 …

-rwxr-xr-x 1 daemon daemon 2460 Jun 15 23:11 flash.js

-rwxr-xr-x 1 daemon daemon 47445 Jun 15 23:11 prototype.js

linuxpc:/opt/openfire/resources/spank #

After copying, be sure to change the file ownership to be whatever the Mac server expects them to be, (daemon?), then completely restart the Openfire server. Again, I don’‘t have a Mac, so I can’‘s say for sure if any of this will work, but it’'s something to try.

  • Brett