Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Can';t使用Smack在OpenFire上注册新用户。这些诗节是什么意思?_Java_Xmpp_Smack_Openfire_User Registration - Fatal编程技术网

Java Can';t使用Smack在OpenFire上注册新用户。这些诗节是什么意思?

Java Can';t使用Smack在OpenFire上注册新用户。这些诗节是什么意思?,java,xmpp,smack,openfire,user-registration,Java,Xmpp,Smack,Openfire,User Registration,我正在使用Android版本的Smack API,并开发一个客户端,它可以自动注册自己,以防以前没有注册 好吧,如果我手动注册用户并登录到客户端,一切正常。但是我不能让客户端创建新用户。代码如下所示: 试试看{ conn1.connect(); //(尝试)登录到服务器 试一试{ conn1.登录(imei、XMPP\u帐户\u密码); }捕获(XMPPException-ex){ //可能没有注册 createdAccount=checkAndRegister(conn1); } if(cre

我正在使用Android版本的Smack API,并开发一个客户端,它可以自动注册自己,以防以前没有注册

好吧,如果我手动注册用户并登录到客户端,一切正常。但是我不能让客户端创建新用户。代码如下所示:

试试看{
conn1.connect();
//(尝试)登录到服务器
试一试{
conn1.登录(imei、XMPP\u帐户\u密码);
}捕获(XMPPException-ex){
//可能没有注册
createdAccount=checkAndRegister(conn1);
}
if(createdAccount){
conn1.登录(imei、XMPP\u帐户\u密码);
ChatManager ChatManager=conn1.getChatManager();
serverConversation=chatmanager.createChat(服务器\u用户名\u已满,此为);
serverConversation.addMessageListener(此);
}捕获(XMPPException e){
Log.e(标签“Error al-comunicarse con XMPP.”);
e、 printStackTrace();
}
公共布尔校验寄存器(XMPPConnection currentConn){
如果(!currentConn.isAuthenticated()){
AccountManager acManager=currentConn.getAccountManager();
试一试{
acManager.createAccount(imei、XMPP\u帐户\u密码);
}捕获(XMPPException e){
Log.e(标记“No se puede autoregistar la cuenta de XMPP.”+e.getLocalizedMessage());
返回false;
}
返回true;
}否则{
返回true;
}
}
这是我从服务器日志中得到的跟踪操作系统节。我怀疑这些具体的4节说明了整个过程,但如果你认为我错了,请纠正我


XMPP客户端注册
请提供以下信息
叽叽喳喳:智商:注册
因此,如果我的怀疑是正确的,那么最后一个错误标签应该是问题的关键,但这意味着什么呢

PD:当然,我确保在OpenFire配置上启用客户端注册。
编辑: 在对我的问题进行进一步研究后,出现了几个问题:
1.
标签是否应该包含注册信息?
2.第二节中列出的所有字段都必须注册吗

问候

  • 是的,或者作为替代方案,第一个数据包中的表单可以提交回服务器,如中的用例所示
  • 规范中说,客户机向服务器查询必填字段,所以可能是的。但是可以猜测,只有在表单中标记为必填字段的字段才是服务器实现真正需要的字段,否则这种差异将毫无意义

  • 是的,一旦注册查询包含了实际的注册数据,它就起作用了。我怀疑问题出在Android的Smack API实现上,
    帐户
    属性必须手动设置。你能给我一个链接到任何可用的教程,教我如何在
    openfire
    服务器上注册用户吗?我正在使用
    smack api
    Sorry@saplingPro,但我已经有一段时间没有使用smack了,我甚至无法在我的电脑上找到任何东西,因为我已经没有了。如果我没记错的话,他们以前有不错的文档和示例。