CANDY与Openfire聊天:连接到自动聊天室时收到空响应

时间:2013-01-28 19:57:23

标签: openfire candy

我终于安装了openfire服务器 - 不可否认的是XMPP的noob - 但我到了那里:)

我修改了.htaccess&现在尝试点击我服务器上的http://166.xx.xx.xx/candy-chat-candy-ca544b1/example/index.html

该页面显示“正在连接.. ”消息并挂起。

在我深入研究firebug post / response之前,这是我的设置。

我已经修改了example / index.html:

$(document).ready(function() {
    Candy.init('http://166.xx.xx.xx:7070/http-bind/', {
        core: { debug: true },
        autojoin: ['Opentalk@conference.166.xx.xx.xx'],
        view: { language : 'en' }
    });

    Candy.Core.connect('166.xx.xx.xx', null, 'Guest'); // Connect anonymously to a specific server
});

firebug 中,我看到响应为空。然而,在firebug中的帖子输入显示200 OK

萤火虫抱怨(我认为这是因为回答是空的) - > “

  

XML解析错误:找不到元素位置:   moz-nullprincipal:{80250471-6b20-4144-ad88-92777a926018}行号   1,第1栏:

这是帖子

<body rid='3954428912' xmlns='http://jabber.org/protocol/httpbind' to='166.xx.xx.xx' 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'/>

由于我的调试已打开,因此我看到与post相同的消息:

SENT: <body rid='3954428912' xmlns='http://jabber.org/protocol/httpbind' to='166.xx.xx.xx' 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'/>

注意:我在配置中看到的唯一区别是跨域部分。 The setup screenshot shown on github此字段为空,而我的字段为默认条目,但我不知道这是否实际上是一个问题。

我做错了什么,但不能指责什么.. 任何有关调试的指针都会很棒!


---------------- +++++++++++ --------------

更新2/1 **
感谢迈克尔,似乎让这些改变向前迈进了一步!!

现在我得到一个灰色的页面,而不是挂在“连接......” 似乎现在正在建立连接。我不确定PrivacyListError是否关键(纠正我) 我看着candy.js&amp;似乎如果列表不存在,它将创建一个。
下一个错误似乎很关键,因为它谈论服务不可用..

成功

SENT: <body rid='2569503371' xmlns='http://jabber.org/protocol/httpbind' sid='b967c785'><iq type='set' id='_session_auth_2' xmlns='jabber:client'><session xmlns='urn:ietf:params:xml:ns:xmpp-session'/></iq></body> RECV: <body xmlns='http://jabber.org/protocol/httpbind'><iq xmlns='jabber:client' type='result' id='_session_auth_2' to='b967c785@myservername.com/b967c785'/></body>  
[Connection] 
Connected [Jabber] 
Anonymous login 
[Connection] Attached

成功

POST http-bind/ 200 OK 101ms    

SENT: <body rid='2569503372' xmlns='http://jabber.org/protocol/httpbind' sid='b967c785'><presence xmlns='jabber:client'/><iq type='get' xmlns='jabber:client'><query xmlns='jabber:iq:private'><storage xmlns='storage:bookmarks'/></query></iq><iq type='get' from='b967c785@myservername.com/b967c785' id='get1' xmlns='jabber:client'><query xmlns='jabber:iq:privacy'><list name='ignore'/></query></iq></body>
RECV: <body xmlns='http://jabber.org/protocol/httpbind'><iq xmlns='jabber:client' type='result' to='b967c785@myservername.com/b967c785'><query xmlns='jabber:iq:private'><storage xmlns='storage:bookmarks'/></query></iq></body>
[Jabber] Bookmarks

错误

POST http-bind/ 200 OK 56ms 
SENT: <body rid='2569503373' xmlns='http://jabber.org/protocol/httpbind' sid='b967c785'/>    
RECV: <body xmlns='http://jabber.org/protocol/httpbind'><iq xmlns='jabber:client'     type='error' id='get1' to='b967c785@myservername.com/b967c785'><query xmlns='jabber:iq:privacy'><list name='ignore'/></query><error code='503' type='cancel'>     <service-unavailable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></iq></body>   
[Jabber] PrivacyListError

错误 - 这似乎更严重

POST http-bind/ 200 OK 74ms 
SENT: <body rid='2569503374' xmlns='http://jabber.org/protocol/httpbind' 
sid='b967c785'><iq type='set' from='b967c785@myservername.com/b967c785' id='set1'
 xmlns='jabber:client'><query xmlns='jabber:iq:privacy'><list name='ignore'><item 
action='allow' order='0'/></list></query></iq><iq type='set' 
from='b967c785@myservername.com/b967c785' id='set2' xmlns='jabber:client'><query 
xmlns='jabber:iq:privacy'><active name='ignore'/></query></iq></body>

RECV: <body xmlns='http://jabber.org/protocol/httpbind'><iq xmlns='jabber:client' 
type='error' id='set1' to='b967c785@myservername.com/b967c785'><query 
xmlns='jabber:iq:privacy'><list name='ignore'><item action='allow' order='0'/></list>
</query><error code='503' type='cancel'><service-unavailable 
xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></iq></body>

错误 - 最后一个,在它之前挂起

POST http-bind/ 200 OK 60ms 
SENT: <body rid='2569503375' xmlns='http://jabber.org/protocol/httpbind' sid='b967c785'/>
RECV: <body xmlns='http://jabber.org/protocol/httpbind'><iq xmlns='jabber:client' 
type='error' id='set2' to='b967c785@myservername.com/b967c785'><query 
xmlns='jabber:iq:privacy'><active name='ignore'/></query><error code='503' type='cancel'>
<service-unavailable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></iq></body>

上次启动ajax调用

POST http-bind/ 200 OK 60167ms  
SENT: <body rid='2569503376' xmlns='http://jabber.org/protocol/httpbind' sid='b967c785'/>
RECV: <body xmlns='http://jabber.org/protocol/httpbind'/>
POST http-bind/
SENT: <body rid='2569503377' xmlns='http://jabber.org/protocol/httpbind' sid='b967c785'/>

1 个答案:

答案 0 :(得分:4)

您的http-bind网址似乎是错误的,以及autojoin和connect函数调用的第一个参数。

如果您正确配置了HTTP代理配置,则标准example/index.html应该有效。 您只需要更改/添加autojoin参数并更改connect函数调用。

关于autojoin参数:您在XMPP服务器上配置了虚拟主机。您需要使用此作为主机名,而不是IP。所以它看起来像autojoin: ['Opentalk@conference.example.com']

这同样适用于您需要提供XMPP服务器的虚拟主机名的connect()的第一个参数。