简体   繁体   中英

unable to add new user in openfire using smack - android

I am creating an instant messaging app in android and trying to create a new user using smack, and openfire server of xmpp, the user will be stored in the openfire database but everytime, i am running it,the user record is not showing in it.

create user activity

 private void setConnection() {

        // Create the configuration for this new connection

        //this function or code given in official documention give an error in openfire run locally to solve this error
        //first off firewall
        //then follow my steps

        new Thread() {
            @Override
            public void run() {

                InetAddress addr = null;
                try {
                    // inter your ip4address now checking it
                    addr = InetAddress.getByName("192.168.23.150");
                } catch (UnknownHostException e) {
                    e.printStackTrace();
                }
                HostnameVerifier verifier = new HostnameVerifier() {
                    @Override
                    public boolean verify(String hostname, SSLSession session) {
                        return false;
                    }
                };
                DomainBareJid serviceName = null;
                try {
                    serviceName = JidCreate.domainBareFrom("localhost");
                } catch (XmppStringprepException e) {
                    e.printStackTrace();
                }
                XMPPTCPConnectionConfiguration config = XMPPTCPConnectionConfiguration.builder()
                        .setUsernameAndPassword("admin","kalaBOOK98")
                        .setPort(9090)
                        .setSecurityMode(ConnectionConfiguration.SecurityMode.disabled)
                        .setXmppDomain(serviceName)
                        .setHostnameVerifier(verifier)
                        .setHostAddress(addr)
                        .setDebuggerEnabled(true)
                        .build();
                Log.v(TAG,"connection configured");
                mConnection = new XMPPTCPConnection(config);
                        //now send message and receive message code here
                        AccountManager accountManager = AccountManager.getInstance(mConnection);
                        try {
                            Log.v(TAG,"Creating new user");
                            accountManager.createAccount(Localpart.from(userId),userPassword);
                        } catch (SmackException.NoResponseException e) {
                            Log.v(TAG,"Error in creating user"+e);
                            e.printStackTrace();
                        } catch (XMPPException.XMPPErrorException e) {
                            Log.v(TAG,"Error in creating user"+e);
                            e.printStackTrace();
                        } catch (SmackException.NotConnectedException e) {
                            Log.v(TAG,"Error in creating user"+e);
                            e.printStackTrace();
                        } catch (InterruptedException e) {
                            Log.v(TAG,"Error in creating user"+e);
                            e.printStackTrace();
                        } catch (XmppStringprepException e) {
                            Log.v(TAG,"Error in creating user"+e);
                            e.printStackTrace();
                        }
                    }

// Now we create the account:

// The account has been created, so we can now login

        }.start();
    }

Everytime i try to run it this log error shows up

Log

    2018-11-30 18:44:16.186 12186-12855/com.example.user.myapplication V/SignupActivity: connection configured
2018-11-30 18:44:16.216 12186-12855/com.example.user.myapplication V/SignupActivity: Creating new user
2018-11-30 18:44:16.218 12186-12855/com.example.user.myapplication V/SignupActivity: Error in creating userorg.jivesoftware.smack.SmackException$NotConnectedException: Client is not, or no longer, connected.
2018-11-30 18:44:16.218 12186-12855/com.example.user.myapplication W/System.err: org.jivesoftware.smack.SmackException$NotConnectedException: Client is not, or no longer, connected.
2018-11-30 18:44:16.226 12186-12855/com.example.user.myapplication W/System.err:     at org.jivesoftware.smack.tcp.XMPPTCPConnection.throwNotConnectedExceptionIfAppropriate(XMPPTCPConnection.java:354)
2018-11-30 18:44:16.226 12186-12855/com.example.user.myapplication W/System.err:     at org.jivesoftware.smack.AbstractXMPPConnection.sendStanza(AbstractXMPPConnection.java:670)
2018-11-30 18:44:16.227 12186-12855/com.example.user.myapplication W/System.err:     at org.jivesoftware.smack.AbstractXMPPConnection.createStanzaCollectorAndSend(AbstractXMPPConnection.java:769)
2018-11-30 18:44:16.227 12186-12855/com.example.user.myapplication W/System.err:     at org.jivesoftware.smackx.iqregister.AccountManager.createStanzaCollectorAndSend(AccountManager.java:370)
2018-11-30 18:44:16.227 12186-12855/com.example.user.myapplication W/System.err:     at org.jivesoftware.smackx.iqregister.AccountManager.getRegistrationInfo(AccountManager.java:366)
2018-11-30 18:44:16.227 12186-12855/com.example.user.myapplication W/System.err:     at org.jivesoftware.smackx.iqregister.AccountManager.getAccountAttributes(AccountManager.java:184)
2018-11-30 18:44:16.227 12186-12855/com.example.user.myapplication W/System.err:     at org.jivesoftware.smackx.iqregister.AccountManager.createAccount(AccountManager.java:249)
2018-11-30 18:44:16.227 12186-12855/com.example.user.myapplication W/System.err:     at com.example.user.myapplication.Login.SignupActivity$3.run(SignupActivity.java:192)

Any help would be appreciated Thanks in advance

If you have already created a user on openfire, then you do not need to create it using AccountManager from mobile application. After you build your xmppTcpConnection, just connect and login with the new user's credentials.

Check this link: xmpp connection documentation

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM