powered by Jive Software

Http bind question

Hi, I just started with openfire and strophejs a few days ago. All seems to work except the http binding.

(it works when I use the test server for http binding in the strophejs demo)

I have a windows 2008 r2 server install of openfire and when I try to connect with strophe to the server I see in firebug post data:

<body rid='2865538622' xmlns='[http://jabber.org/protocol/httpbind](http://jabber.org/protocol/httpbind)' to='server2.soichat.com' xml:lang``='en' wait='60' hold='1' content='text/xml; charset=utf-8' ver='1.6' xmpp:version='1.0' xmlns:xmpp='urn``:xmpp:xbosh'/>

and the response:

HTTP/1.1 200 OK

Content-Type: text/xml;charset=UTF-8

Content-Length: 641

Server: Jetty(7.0.2-SNAPSHOT)


I’m not sure but I think it looks ok. The only problem is strophe doesn’t seem to like the response and keeps on trying again (the same request).

Is there any way to test the http-binding feature of openfire? I tried the bosh-test.jar but I get a classnotfoundexception.




I’ve been looking at similar questions, but none of them seem to answer my particular situation. One solution seems to edit the httpd.conf but I’m running Openfire with the built in jetty webserver.

Aight it works now.

For all of you with the same problem:

Thanks to this thread: http://community.igniterealtime.org/thread/32557

I got on the right track. You don’t need any extra webserver for http-binding until you want to use a javascript client framework like stropejs. Http proxiing eliminates the use of a different (like 7070) port hence it will work then. It would indeed be nice if somebody wrote a plugin or something for openfire to support this natively. Maybe I will in the future when I have time (which is scarce).

Second of all: Test it on your server and not locally => server or set the cross domain xml in the openfire http binding settings.

So in iis7 i got in the applicationhost.config:


                <action type="Rewrite" url="[](" />


This will forward any client request from public address http://www.domain.com/bosh to private address on the webserver.