当前位置:编程学习 > JAVA >>

smack问题 高手进 用户属性问题

Openfire开发的smack库。 
我用用户a1登录到Openfire后尝试添加一个用户b1,并且为b1设置了一些初始化的属性,调用的方法如下: 
createAccount 
public void createAccount(String username, 
                          String password, 
                          Map<String,String> attributes) 
但是当我用b1登录后,获得XMPPConnection然后获得AccountManager,再调用AccountManager的String getAccountAttribute(String name) ,并没有获得相应添加该用户时设置的值。 
虽然我尝试设置并获得API中提到的这些属性,如下 
name -- the user's name. 
first -- the user's first name. 
last -- the user's last name. 
email -- the user's email address. 
但是 同样也没有获得到。 
而且此方式明显不能修改相应的属性值,因为AccountManager中并没有提供修改相应属性值的方法。 

我从Openfire的admin登录的界面中可以设置name和email属性,能获得。 

我怀疑自己用错方式了,那用那个类那,希望做过此类问题的兄弟贴下代码。感激不尽。。。  --------------------编程问答-------------------- 没用过,友情 --------------------编程问答-------------------- 自己顶下 --------------------编程问答-------------------- 刚才突然看到
org.jivesoftware.smack.packet.Packet
      org.jivesoftware.smack.packet.IQ
          org.jivesoftware.smack.packet.Registration

SET queries can be used to create accounts or update existing account information.
组装一个Registration 然后调用con的sendPacket(Packet packet)方法。
应该是这样。哈哈试试。
虽然没有人帮我回答,但是发帖后思路好像清澈了许多,对自己赞一个~\(≧▽≦)/~ --------------------编程问答--------------------
引用 3 楼 honesty_aijf_88 的回复:
刚才突然看到
org.jivesoftware.smack.packet.Packet
org.jivesoftware.smack.packet.IQ
org.jivesoftware.smack.packet.Registration

SET queries can be used to create accounts or update existing account info……

哎,不行啊
--------------------编程问答--------------------

user.setName(accountManager.getAccountAttribute("name"));
user.setEmail(accountManager.getAccountAttribute("email"));


这样就可以获取到用户的注册信息
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,