波什使用openfire建立

时间:2011-02-21 11:33:15

标签: xmpp openfire bosh

我在windows中使用openfire来设置bosh连接管理器...安装成功但是我给了网址http://localhost:9090/bosh它说

HTTP错误:404

NOT_FOUND RequestURI = / HTTP绑定/

由Jetty提供://

尝试http://localhost:9090/http-bind/ 给出了同样的错误

任何人都可以告诉我发生的事情...... 我该如何排除故障 感谢

4 个答案:

答案 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>

enter image description here

要发送有效请求,您应该向主体发出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