I’‘ve found the “org.jivesoftware.multiplexer.net.http” package appeared on connection manager SVN during Oct 14 ~ 17. From the source code, we can learn that the package is for HTTP Binding (JEP-0124). But the connection manager doesn’'t have any update for nearly one week. So could Alex or someone in Jivesoftware give us a schedule of this feature? I believe there are also some other people like me waiting for HTTP binding support. I have evaluated some third party HTTP Binding module such as JabberHTTPBind, but they are not so good at scalability. So I think have HTTP Binding support on Connection Manager is good choice.
For the most part HTTP Binding is code complete in both the connection manager and wildfire. There are some minor things that need to be tweaking in order to completly conform with the XEP but for the most part things seem to be in working order. We have not yet had the chance yet to test it extensivly but that should be happening in the next few days. Thanks for the interest, and if you have any more questions feel free to let us know.
Is everything included in the latest Nightly Build? If so, how do we access/configure it? If not, when can we expect it to show up in the Nightly Builds?
I’'ve tested the Connection Manager again, everything goes fine except the inactivity problem.
I’'ve created a Java client myself according to XEP-0124:
create session and get sid from server
sasl
bind resource and send presence
keep sending blank body using the sid from step 1 in interval 10s (default server inactivity timeout = 30s, polling=5s, my wait=15s).
But the server disconnect me with a 403 error after 30 ~ 40 seconds(between step 1 and disconnect) and the sid has been expired from server. So from now all the packet send to server will get a 404 error.
It wasn’'t the inactivity timer that was the problem I had incorrect logic in my polling interval check which was causing the 403 error, Too Frequent Polling. I have checked in the fix and everything seems to be in working order now.
I have downloaded the latest milestone (Wildfire 3.2.0 Alpha 0) which seems to have http bind functionality in built , i enabled the it at admin console .
One of the issues you are facing is that the http-bind service must be running on the same domain. We currently don’'t have a finished solution for how this will be handled, the ability to load the chat client directly into Wildfire, so in the mean time I have been proxying requests through an apache server. So, for instance, if you get the chat client from http://localhost/ the binding service will need to be running on localhost. So, I setup a proxy in apache, whose web-root would contain jwchat, which forwards requests on http://localhost/http-bind/ to http://wildfire:9090/http-bind. Where wildfire:9090 is the server running my http bind service.
As i said this is a temporary solution until we work something better out, if you need anymore information on how to implement this - let me know.
i’'ve installed wildfire in an attempt to run jwchat on a test website.
i’'m running wildfire nightly build version 3.2.0 alpha with http binding on a debian stable.
First i’‘m not quite sure where it comes from or if it’'s been discussed already but it seems that the http binding admin page has some problems applying/modifying the params you set.
Basically i believe the daemon can’'t release the ports you set in the custom ports, when changing them and pushing the save button, it falls back to “disabled” and netstat shows the ports are still active. When you select the admin console ports then it applies the setup successfully.
Don’‘t get me wrong the custom ports do work for http binding, i’'m using 8080 on my test server.
So back to my jwchat problem…
According to your remark above, my wildfire and jwchat are served on the same subdomain.
I’'ve configured jwchat and apache to work together and it seems to be okay.
I can create user accounts in wildfire from the jwchat login page, then i get the popup user window and an “online” sound (i can see the online icon for a second), but then quite instantly i get a js error message informing me of an “Internal Server Error - Disconnedted - Reconnect ? yes/no”…
I suspect it’‘s a proxy setup problem but i can’‘t find any debug output so i’'m not sure where to look for debug info.
Hmmm… well there can be several things that are going on here. When i was testing with JWChat i was having trouble with both its polling interval, it violated the minimum polling interval, and Apache was having trouble because the connections were being kept open too long without a response, this was even after increasing the proxy timeout time in Apache (if anyone has any ideas on this, please let me know). So, what i did to resolve the second issue was decreasing the wait to 10 seconds, the connection would fail with a 502 Proxy Error otherwise.
How did I go about diagnosing and resolving these issues? Two firefox extensions:
firebug
Live HTTP Headers
Firebug you to debug the javascript, so, you can easily go in an determine whats going on. And, Live HTTP Headers, allows you to see the headers being sent to and from firefox, though regrettably not the response body, so you can determine if it is something like a 502 error.