【问题标题】:XMPP asmack problem missing attributeXMPP asmack 问题缺少属性
【发布时间】:2011-11-15 07:30:08
【问题描述】:

我遇到了一个问题,即缺少 XML 节中的属性。根据服务器端的日志文件,我可以确认属性是从客户端发送到服务器的。此外,当服务器将 XML 节传递给接收者时,该属性也存在(仍然基于服务器端的日志文件)。问题是,当接收方收到 XML 节时,没有检测到该属性。有什么可能导致这种情况的想法吗?

原始 XML 节(发送到服务器,传递到客户端,显示在日志上):

    <message id="RquuK-35" 
        to="dodol@master.nze.com" 
        from="lola@master.nze.com">
        <body>Let's join in my group!!</body>
        <x xmlns="jabber:x:conference" jid="8c326c93b43077d4ecef8685de686462@conference.master.nze.com"/>
    </message>

收到的 XML 节:

    <message id="RquuK-35" 
        to="dodol@master.nze.com" 
        from="lola@master.nze.com">
        <body>Let's join in my group!!</body>
        <x xmlns="jabber:x:conference"/>
    </message>

非常感谢任何建设性的意见。谢谢。

【问题讨论】:

  • 您在客户端使用哪个 XMPP 库?
  • asmack-jse-buddycloud-2010.12.11.jar

标签: android xml xmpp ejabberd smack


【解决方案1】:

当您从 XML DOM 请求 jid 属性时,您可能指定了 jabber:x:conference 的命名空间。但是,无前缀属性始终没有命名空间。尝试使用 "" 作为命名空间 URI。

【讨论】:

    【解决方案2】:

    您需要实现自定义PacketExtensionProvider 才能正确解析XML 数据包。 然后使用ProviderManager.getInstance().addExtensionProvider("myElementName", "myNamespace", new MyCustomPacketExtensionProvider());将其添加到ProviderManager

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-06
      • 1970-01-01
      • 2015-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多