Java XMPPError:不可接受-尝试将用户踢出房间时进行修改

Java XMPPError:不可接受-尝试将用户踢出房间时进行修改,java,xmpp,ejabberd,smack,Java,Xmpp,Ejabberd,Smack,Java Smack lib具有以下方法: public void kickParticipant(String nickname, String reason) 但是有昵称作为参数。我有用户JID的。。。所以,我试着给用户取一个昵称: mChats.get(room).getMembers().forEach(user -> LOG.debug(user.getNick() + ", " + user.getJid())); 我明白了: null, 4_1@localhost nu

Java Smack lib具有以下方法:

public void kickParticipant(String nickname, String reason)
但是有
昵称
作为参数。我有用户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
如文中所述,它的意思是

我尝试以不同的格式传递
昵称
roomname@domen/昵称
nickname@host
。也犯了同样的错误

但是对于C#,我使用矩阵库。还有一种方法:

KickUser(Jid room, string nickname);
当我尝试将用户登录(例如,
113_1
)作为参数传递到此处时,它工作正常

我将用户登录作为参数传递给kick方法,对吗?如果是,如何避免此错误