XMPPError:不可接受 - 尝试从房间

时间:2015-09-16 13:14:56

标签: java xmpp ejabberd smack

Java Smack lib有方法:

public void kickParticipant(String nickname, String reason)

但是有nickname作为参数。我有用户JID ...所以,我试图为用户获取昵称:

mChats.get(room).getMembers().forEach(user -> LOG.debug(user.getNick() + ", " + user.getJid()));

我明白了:

null, 4_1@localhost 
null, 113_1@localhost

我尝试通过用户登录(例如'113_1')并收到错误:

org.jivesoftware.smack.XMPPException$XMPPErrorException: XMPPError: not-acceptable - modify

正如spec中所述,它意味着<bad-request/>

我尝试以不同格式传递nicknamenicknameroomname@domen/nicknamenickname@host。并得到同样的错误。

但是对于C#我使用Matrix库。还有方法:

KickUser(Jid room, string nickname);

当我尝试将此用户登录(例如113_1)作为参数传递时,它工作正常。

将用户登录作为参数传递给kick方法时,我是否正确?如果是,我该如何避免此错误?

0 个答案:

没有答案