This issue happens regularly, but occurs anywhere from the begging of a session to 5-10 min later. We are using strophe.js client. The same issue happens when using candy.js (though it use strophe.js).
Our serivces use a prebind process to return sid, rid back to browser client strophe.js takes over from there.
Looking at the openfire stdout.log (log.httpbind.enabled == true), I see this pattern...
18:13:44: HTTP RECV(f5620f93): <body xmlns:xmpp="urn:xmpp:xbosh" xmlns:stream="http://etherx.jabber.org/streams" rid="774044228" sid="f5620f93" to="pdev.mydomain.net"></body>
18:13:44: HTTP SENT(f5620f93): <body xmlns='http://jabber.org/protocol/httpbind' ack='774044229'></body>
18:13:44: HTTP SENT(f5620f93): <body xmlns="http://jabber.org/protocol/httpbind"></body>
18:13:44: HTTP RECV(f5620f93): <body rid="774044230" sid="f5620f93"/>
18:13:44: HTTP RECV(f5620f93): <body xmlns:xmpp="urn:xmpp:xbosh" xmlns:stream="http://etherx.jabber.org/streams" rid="774044229" sid="f5620f93" to="pdev.mydomain.net"></body>
18:13:44: HTTP ERR(f5620f93): terminate, item-not-found.
18:13:44: HTTP SENT(f5620f93): <body xmlns="http://jabber.org/protocol/httpbind" type="terminate" condition="item-not-found"></body>
18:13:44: HTTP SENT(f5620f93): <body xmlns="http://jabber.org/protocol/httpbind" ack="774044230"></body>
18:13:44: HTTP RECV(f5620f93): <body rid="774044231" sid="f5620f93"/>
In Openfire's warn.log...
18:13:44 org.jivesoftware.openfire.http.HttpSession - Deliverable unavailable for 774044229
18:13:44 org.jivesoftware.openfire.http.HttpBindServlet - Client provided invalid session: f5620f93. [192.168.2.14]
Our httpbind properties...
xmpp.httpbind.client.idle == 360
xmpp.httpbind.client.requests.max == 30
xmpp.httpbind.client.requests.polling == 0
xmpp.httpbind.client.requests.wait == 60
xmpp.httpbind.scriptSyntax.enabled == true
Any ideas why we get these "random" invalid session messages?