1 问题:当我尝试通过 Bosh 在 XMPP 中绑定资源时,出现 xml 格式不正确的错误。
我尝试了什么:我去 xmpp.org 为绑定资源寻找合适的 xml 节(http://xmpp.org/extensions/xep-0206.html#preconditions-sasl),但看起来很相似。
可能的答案:身份验证后我没有重新启动流,这可能是导致此错误的原因吗?
2 问题:我尝试通过使用数据包(http://xmpp.org/extensions/xep-0206.html#preconditions-sasl)重新启动流,但响应代码为 400?任何人都知道我为什么会这样吗?
可能的答案:我没有得到 xmpp:restartLogic 属性来响应初始数据包?这可能是出现 400 错误的原因吗(可能是 Ejabbered 服务器不支持重启)?
怀疑:有人知道如何在 Ejabberd 中启用重启逻辑,还是默认启用?
我的日志如下:
要阅读的节是 = body xmlns='http://jabber.org/protocol/httpbind' sid='8d96d01bb87f526e78b0f0b620dd1c94edd172ee' wait='30' requests='2' inactivity='30' maxpause='120' polling='2 'ver='1.8' from='someserver.com'secure='true' authid='2817580747' xmlns:xmpp='urn:xmpp:xbosh' xmlns:stream='http://etherx.jabber.org/streams 'xmpp:版本='1.0' 要阅读的节是 = stream:features xmlns:stream='http://etherx.jabber.org/streams' 要阅读的节是 = 机制 xmlns='urn:ietf:params:xml:ns:xmpp-sasl' 要阅读的节是=机制 要阅读的节是 = c xmlns='http://jabber.org/protocol/caps' hash='sha-1' node='http://www.process-one.net/en/ejabberd/' ver= 'U5DC02T7iwEqfov5b3KpIVgA5+I='/ 要阅读的节是 = register xmlns='http://jabber.org/features/iq-register'/ 收到会话创建响应:body secure=true requests=2 inactivity=30 authid=2817580747 sid=8d96d01bb87f526e78b0f0b620dd1c94edd172ee polling=2 xmlns=http://jabber.org/protocol/httpbind wait=30 xmpp=urn:xmpp:xbosh ver=1.8版本=1.0 来自=someserver.com 流=http://etherx.jabber.org/streams maxpause=120 == 功能流=http://etherx.jabber.org/streams == 机制 xmlns=urn:ietf:params:xml:ns:xmpp-sasl == 机制 == 平原 机制 == DIGEST-MD5 机制 == SCRAM-SHA-1 c ver=U5DC02T7iwEqfov5b3KpIVgA5+I= node=http://www.process-one.net/en/ejabberd/hash=sha-1 xmlns=http://jabber.org/protocol/caps == 注册 xmlns=http://jabber.org/features/iq-register == 身份验证:body secure=true requests=2 inactivity=30 authid=2817580747 sid=8d96d01bb87f526e78b0f0b620dd1c94edd172ee polling=2 xmlns=http://jabber.org/protocol/httpbind wait=30 xmpp=urn:xmpp:xbosh ver=1.8 version=1.0来自=someserver.com 流=http://etherx.jabber.org/streams maxpause=120 == 功能流=http://etherx.jabber.org/streams == 机制 xmlns=urn:ietf:params:xml:ns:xmpp-sasl == 机制 == 平原 机制 == DIGEST-MD5 机制 == SCRAM-SHA-1 c ver=U5DC02T7iwEqfov5b3KpIVgA5+I= node=http://www.process-one.net/en/ejabberd/hash=sha-1 xmlns=http://jabber.org/protocol/caps == 注册 xmlns=http://jabber.org/features/iq-register == 使用普通授权 写入空气 [0]:AE1haGlAdGVzdC5yYXBpZHNvZnR0ZWNobm9sb2d5LmNvbQBtYWhp 开始 PLAIN 授权 要阅读的节是 = body xmlns='http://jabber.org/protocol/httpbind' 要阅读的节是 = 成功 xmlns='urn:ietf:params:xml:ns:xmpp-sasl'/ writeToAir [0]:资源 绑定资源 要阅读的节是 = body type='terminate' condition='remote-stream-error' xmlns='http://jabber.org/protocol/httpbind' xmlns:stream='http://etherx.jabber.org/流' 要阅读的节是 = 流:错误 要阅读的节是 = xml-not-well-formed xmlns='urn:ietf:params:xml:ns:xmpp-streams'/