我尝试连接的 XMPP 服务器具有如下命名空间前缀(zdef-#########):
<iq xmlns="jabber:client" from="xmpp.foo.com" to="bar@xmpp.foo.com/foobar" type="result" id="1"><zdef-312457671:bind xmlns:zdef-312457671="urn:ietf:params:xml:ns:xmpp-bind"><jid>bar@xmpp.foo.com/foobar</jid></zdef-312457671:bind></iq>
反过来,导致以下“预期绑定和会话”错误:
<stream:error xmlns:stream="http://etherx.jabber.org/streams"><zdef-312457671:connection-timeout xmlns:zdef-312457671="urn:ietf:params:xml:ns:xmpp-streams"/><zdef-647349245:text xmlns:zdef-647349245="urn:ietf:params:xml:ns:xmpp-streams" xml:lang="en">Expected bind and session</zdef-647349245:text></stream:error>
我或多或少地使用这个例子连接到主机。我可以成功连接到另一个不使用这些命名空间前缀的主机。
使用 AnyEvent::XMPP,如何让脚本正确处理 XML 流?
一些版本信息:
- Perl 版本:v5.10.1
- AnyEvent::XMPP 版本:0.53