Чат CANDY с Openfire: получение пустого ответа при подключении к чату с автологином

Наконец-то я установил сервер openfire - по общему признанию, новичок в XMPP - но я добираюсь туда :)

Я изменил .htaccess и теперь пытаюсь нажать http://166.xx.xx.xx/candy-chat-candy-ca544b1/example/index.html на моем сервере

Страница показывает мне сообщение "connecting.." и зависает там.

Вот моя настройка, прежде чем я углублюсь в сообщение/ответ firebug.

Я изменил пример/index.html следующим образом:

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

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

В firebug я вижу, что ответ пустой. Однако запись сообщения в firebug показывает 200 OK

И firebug жалуется (я думаю, потому что ответ пуст) --> "

Ошибка синтаксического анализа 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'/>

Поскольку моя отладка включена, я вижу то же сообщение, что и сообщение:

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'/>

Примечание. Единственное отличие, которое я вижу в своей конфигурации, — это междоменная часть. скриншот настройки показаны на GitHub имеет это поле пустым, а у меня имеет запись по умолчанию, я не знаю, действительно ли это проблема.

Я делаю что-то не так, но не могу понять, что... Любые указания по дальнейшей отладке были бы замечательными!


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

Обновление 2/1 **
Спасибо, Майкл, кажется, внесение изменений сделало его на шаг вперед!!

Теперь я получаю серую страницу вместо того, чтобы зависнуть на "connecting..".
Кажется, сейчас соединение устанавливается. Я не уверен, критична ли ошибка PrivacyListError (поправьте меня).
Я заглянул в файл candy.js и, кажется, если списка не существует, он его создаст.
Следующая ошибка кажется критической , так как он говорит о недоступности сервиса..

Успех

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='[email protected]/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='[email protected]/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='[email protected]/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='[email protected]/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='[email protected]/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='[email protected]/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='[email protected]/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='[email protected]/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'/>

person PlanetUnknown    schedule 28.01.2013    source источник


Ответы (1)


Ваш URL-адрес http-bind кажется неправильным, а также автосоединение и первый параметр вызова функции подключения.

Если вы правильно настроили конфигурацию прокси-сервера HTTP, стандартный example/index. html должен работать. Вам нужно только изменить/добавить параметр autojoin и изменить вызов функции подключения.

Относительно параметра autojoin: вы настроили виртуальный хост на сервере XMPP. Вам нужно использовать это как имя хоста, а не IP. Таким образом, это будет выглядеть как autojoin: ['[email protected]'].

То же самое относится и к первому параметру connect(), вам нужно указать виртуальное имя хоста XMPP-сервера.

person Michael Weibel    schedule 31.01.2013
comment
Спасибо, Майкл, я внес изменения и, кажется, у меня есть шаг вперед. Я обновил исходный вопрос с ошибкой, которую получил обновление 2/1. Является ли блокировщик показа PrivacyListError? - person PlanetUnknown; 02.02.2013
comment
Нет, не должно быть. Какую версию Candy вы используете? В настоящее время мы советуем людям обычно использовать версию для разработчиков, потому что в ней есть несколько важных исправлений ошибок (и мы пока не можем выпустить новую версию). - person Michael Weibel; 02.02.2013
comment
о... Я использовал все, что было здесь - candy-chat.github.com/candy И вроде бы 1.09 - довольно старая. Позвольте мне попробовать с dev. филиал сейчас. - person PlanetUnknown; 02.02.2013
comment
Вы тестировали с самой последней версией? (1.6.0) Обычно серая страница является индикатором отсутствия/неправильной настройки автоприсоединения. - person Michael Weibel; 28.01.2014