我在windows中使用openfire来设置bosh连接管理器...安装成功但是我给了网址http://localhost:9090/bosh它说
HTTP错误:404
NOT_FOUND RequestURI = / HTTP绑定/
由Jetty提供://
尝试http://localhost:9090/http-bind/ 给出了同样的错误
任何人都可以告诉我发生的事情...... 我该如何排除故障 感谢答案 0 :(得分:4)
尝试将端口设置为7070
我相信这是Openfire的默认BOSH端口。转到Admin consol并查看http绑定(bosh所做的是将xmpp协议绑定到http请求响应模型......基本上)
http://127.0.0.1:9090/http-bind.jsp
编辑:实际上,“给网址”是什么意思?你把它放到浏览器中?
admin consol url是http://127.0.0.1:9090/index.jsp
答案 1 :(得分:2)
尝试使用POST
而不是包含GET
元素的<body/>
,如XEP-0206中所述:
POST /bosh HTTP/1.1
Host: localhost
Content-Type: text/xml; charset=utf-8
Content-Length: 275
<body content='text/xml; charset=utf-8'
from='user@localhost'
hold='1'
rid='1573741820'
to='localhost'
wait='60'
xml:lang='en'
xmpp:version='1.0'
xmlns='http://jabber.org/protocol/httpbind'
xmlns:xmpp='urn:xmpp:xbosh'/>
答案 2 :(得分:1)
BOSH请求需要一个BODY。
如果您的HTTP Bind Settings
不允许Script Syntax
,则GET请求会出现404
错误。如果启用脚本语法,即允许具有有限访问权限的BOSH客户端连接到服务器,则GET请求会出现400
错误,因此您至少会知道Jetty正在侦听该端口。 / p>
要发送有效请求,您应该向主体发出POST请求,例如使用cURL你可以运行(为了清晰起见,添加了换行符):
curl -X POST -d "<body content='text/xml; charset=utf-8'
from='user@localhost'
hold='1'
rid='1573741820'
to='localhost'
wait='60'
xml:lang='en'
xmpp:version='1.0'
xmlns='http://jabber.org/protocol/httpbind' xmlns:xmpp='urn:xmpp:xbosh'/>"
http://desktop-nquceg9:7070/http-bind/
答案 3 :(得分:0)
尝试在{strong> http://127.0.0.1:9090/http-bind.jsp
将Script Syntax
设为Enable