走失的码农 2015-06-16 14:23 采纳率: 0%
浏览 1520

android openfire 注册时报错

IQ.Type.ERROR: internal-server-error(500)

public void register(String account, String password) {

if (XmppConnectionManager.connection == null)
Toast.makeText(AddFriendActivity.this, "服务器无响应~", Toast.LENGTH_SHORT).show();
Registration reg = new Registration();
reg.setType(IQ.Type.SET);
reg.setTo(XmppConnectionManager.connection.getServiceName());
reg.setUsername(account);// 注意这里createAccount注册时,参数是username,不是jid,是“@”前面的部分。
reg.setPassword(password);
reg.addAttribute("android", "geolo_createUser_android");// 这边addAttribute不能为空,否则出错。所以做个标志是android手机创建的吧!!!!!
PacketFilter filter = new AndFilter(new PacketIDFilter(reg.getPacketID()), new PacketTypeFilter(IQ.class));
PacketCollector collector = XmppConnectionManager.connection.createPacketCollector(filter);
XmppConnectionManager.connection.sendPacket(reg);
IQ result = (IQ) collector.nextResult(SmackConfiguration.getPacketReplyTimeout());
collector.cancel();// 停止请求results(是否成功的结果)
if (result == null) {
Log.e("RegistActivity", "No response from server.");
Toast.makeText(AddFriendActivity.this, "服务器无响应~", Toast.LENGTH_SHORT).show();
} else if (result.getType() == IQ.Type.RESULT) {
Toast.makeText(AddFriendActivity.this, "注册成功", Toast.LENGTH_SHORT).show();
} else {
if (result.getError().toString().equalsIgnoreCase("conflict(409)")) {
Log.e("RegistActivity", "IQ.Type.ERROR: "+ result.getError().toString());
Toast.makeText(AddFriendActivity.this, "这个账号已经存在", Toast.LENGTH_SHORT).show();
} else {
Log.e("RegistActivity", "IQ.Type.ERROR: "+ result.getError().toString());
Toast.makeText(AddFriendActivity.this, "注册失败", Toast.LENGTH_SHORT).show();
}
}
}

  • 写回答

1条回答

  • devmiao 2015-06-16 14:44
    关注

    加上一个try catch看看输出什么错误呢

    评论

报告相同问题?

悬赏问题

  • ¥15 全志H618ROM新增分区
  • ¥20 jupyter保存图像功能的实现
  • ¥15 在grasshopper里DrawViewportWires更改预览后,禁用电池仍然显示
  • ¥15 NAO机器人的录音程序保存问题
  • ¥15 C#读写EXCEL文件,不同编译
  • ¥15 MapReduce结果输出到HBase,一直连接不上MySQL
  • ¥15 扩散模型sd.webui使用时报错“Nonetype”
  • ¥15 stm32流水灯+呼吸灯+外部中断按键
  • ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符
  • ¥15 NX MCD仿真与博途通讯不了啥情况