android - 注册新用户 Openfire 服务器返回错误请求节

标签 android xmpp openfire smack asmack

我正在尝试使用以下代码使用 aSmack 4 注册新用户:

ConnectionConfiguration config = new ConnectionConfiguration(Constant.XMPP_HOST, Constant.XMPP_PORT);
SASLAuthentication.supportSASLMechanism("PLAIN", 0);
config.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled);
Roster.setDefaultSubscriptionMode(Roster.SubscriptionMode.accept_all);
conn2 = new XMPPTCPConnection(config);

String user ="bear";
String pass = "123";
String email = "bear@bear.com";
HashMap<String,String> attr = new HashMap<String, String>();
attr.put("username",user);
attr.put("password",pass);
attr.put("email", email);
if(conn2!=null) {

Registration reg = new Registration();
reg.setType(IQ.Type.SET);
reg.setTo(conn2.getServiceName());
reg.setAttributes(attr);
PacketFilter filter = new AndFilter(new PacketIDFilter(
        reg.getPacketID()), new PacketTypeFilter(IQ.class));
PacketCollector collector = conn2 .createPacketCollector(filter);
try {
    conn2.sendPacket(reg);
} catch (SmackException.NotConnectedException e) {
    e.printStackTrace();
}
IQ result = (IQ) collector.nextResult(SmackConfiguration
        .getDefaultPacketReplyTimeout());
System.out.println(result);
collector.cancel(); 

但是 Openfire 服务器返回了这个数据包,我不知道它是什么意思。

<iq id='XILKN-9' to='pc-pc/b529612d' from='192.168.21.107' type='error'>
      <query xmlns='jabber:iq:register'>
          <password>123</password>
          <email>bear@bear.com</email>
          <username>bear</username>
     </query>
     <error type="modify">
          <bad-request xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
    </error>
</iq>

问题是什么?我正在使用 OpenFire 3.9.3 和 aSmack 4.0.7。

最佳答案

我知道为时已晚,但希望它能帮助别人。 在您的连接配置中,确保您的 setServiceName 正确。即 config.setServiceName(您的服务名称);

关于android - 注册新用户 Openfire 服务器返回错误请求节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30056267/

相关文章:

android - 如何理解 dalvik 字节码中的@VIL

android - 如何在 Android 中更改小部件 TabLayout 指示器的重力

facebook-graph-api - 如何获取 XMPP 聊天线程的线程 ID?

iphone - xmpp 中的带内注册是什么?

android - 使用 Facebook 等从 Android 客户端登录到 Openfire 服务器

android - 如何在错误情况下非阻塞地组合多个 RxJava 链

android - 如何从 IntentService 创建 toast ?它卡在屏幕上

xmpp - 检索存档消息时未实现的功能

mysql - 离线表情符号/表情显示??? MySql中的Offline表

android - XMPPError : registration-required - auth 错误