7

我在 Windows 中使用 openfire 来设置 bosh 连接管理器...安装成功,但是我给出的 URL http://localhost:9090/bosh它说

HTTP 错误:404

NOT_FOUND RequestURI=/http-bind/

由码头提供支持://

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

任何人都可以请告诉我发生了什么...我该如何排除故障 谢谢

4

4 回答 4

4

尝试将端口设置为7070我相信这是 Openfire 的默认 BOSH 端口。转到管理控制台并检查 http 绑定(bosh 所做的是将 xmpp 协议绑定到 http 请求响应模型......基本上)

http://127.0.0.1:9090/http-bind.jsp

编辑:实际上你所说的“给出网址”是什么意思?你把它放到浏览器中了吗?管理员控制台网址是http://127.0.0.1:9090/index.jsp

于 2012-01-13T12:28:06.127 回答
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'/>
于 2011-02-22T07:50:18.390 回答
1

BOSH 请求需要一个 BODY。

如果您HTTP Bind Settings不允许,Script Syntax那么您将收到404GET 请求错误。如果您启用脚本语法,即允许访问受限的 BOSH 客户端连接到服务器,那么您将收到400GET 请求错误,因此您至少会知道 Jetty 正在侦听该端口。

在此处输入图像描述

要发送有效请求,您应该使用正文发出 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/
于 2016-06-19T02:14:46.173 回答
0

尝试设置Script Syntaxhttp://127.0.0.1:9090/http-bind.jspEnable

于 2012-05-15T08:52:13.023 回答