【发布时间】:2018-03-13 11:44:39
【问题描述】:
我正在使用 smack-android:4.1.0 进行聊天,我正在使用 openfire。当我尝试在 android 中使用 AccountManager 创建一个帐户时,我得到 jid-malformed 我已经尝试了所有的东西,但我无法找到解决方案,我正在使用我的代码来创建一个用户.
if(connection != null && connection.isConnected()){
Log.e("=AccountManager= ","AccountManager");
// Registering the user
AccountManager accountManager = AccountManager.getInstance(connection);
//Log.e("=supportsAccountCreation= ","="+accountManager.supportsAccountCreation());
//Log.e("=getAccountInstructions= ","="+accountManager.getAccountInstructions());
Map<String, String> attributes = new HashMap<>();
attributes.put("email", "kanta@signitysolutions.in");
attributes.put("username", "spota421");
if (accountManager!=null&&accountManager.supportsAccountCreation()) {
accountManager.sensitiveOperationOverInsecureConnection(true);
accountManager.createAccount("spota421", "xxxxx", attributes);
}
}
下面是我在控制台中得到的响应,请任何人指导我,我做错了什么。
D/SMACK: SENT (0): <iq to='52.62.104.135:9090' id='4Clc6-3' type='get'><query xmlns='jabber:iq:register'></query></iq>
10-02 07:40:21.670 7216-7330/
D/SMACK: RECV (0): <iq type="error" id="4Clc6-3" to="ip-172-31-28-121.ap-southeast-2.compute.internal/8xk12y6kvq" from="52.62.104.135:9090"><query xmlns="jabber:iq:register"/><error code="400" type="modify"><jid-malformed xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/></error></iq>
org.jivesoftware.smack.XMPPException$XMPPErrorException: XMPPError: jid-malformed - modify
10-02 07:40:21.675 7216-7216/com.signity.spota W/System.err: at org.jivesoftware.smack.PacketCollector.nextResultOrThrow(PacketCollector.java:232)
10-02 07:40:21.675 7216-7216/com.signity.spota W/System.err: at org.jivesoftware.smack.PacketCollector.nextResultOrThrow(PacketCollector.java:213)
10-02 07:40:21.675 7216-7216/com.signity.spota W/System.err: at org.jivesoftware.smackx.iqregister.AccountManager.getRegistrationInfo(AccountManager.java:332)
10-02 07:40:21.675 7216-7216/com.signity.spota W/System.err: at org.jivesoftware.smackx.iqregister.AccountManager.supportsAccountCreation(AccountManager.java:144)
10-02 07:40:21.675 7216-7216/com.signity.spota W/System.err: at com.signity.spota.xmpp.CreateConnection.Authenticate(CreateConnection.java:182)
10-02 07:40:21.675 7216-7216/com.signity.spota W/System.err: at com.signity.spota.xmpp.CreateConnection.access$200(CreateConnection.java:34)
10-02 07:40:21.675 7216-7216/com.signity.spota W/System.err: at com.signity.spota.xmpp.CreateConnection$connect.onPostExecute(CreateConnection.java:121)
10-02 07:40:21.675 7216-7216/com.signity.spota W/System.err: at com.signity.spota.xmpp.CreateConnection$connect.onPostExecute(CreateConnection.java:55)
10-02 07:40:21.675 7216-7216/com.signity.spota W/System.err: at android.os.AsyncTask.finish(AsyncTask.java:636)
【问题讨论】:
-
您可以使用此 XMPP Restful Api 创建用户。阅读文档我希望你解决了。 igniterealtime.org/projects/openfire/plugins/restapi/…
-
好的,但是你知道我为什么会出现错误吗?
-
是的,这个适合我的解决方案
标签: java android ejabberd smack xmppframework