Hello there,
I’m using
- Android / Kotlin
- Smack 4.4.2
- Openfire 4.3.2
I’m using the following code to connect Openfire server
fun connectToXMPPServer() {
Thread {
run {
try {
val configBuilder = XMPPTCPConnectionConfiguration.builder()
// .setHostAddress(InetAddress.getByName(XMPP_SERVER))
.setHost(XMPP_SERVER)
.setXmppDomain(XMPP_SERVER)
.setPort(XMPP_PORT)
.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled)
.enableDefaultDebugger()
.setCompressionEnabled(true)
.setSendPresence(false)
.setUsernameAndPassword(PUBLIC_AC, PUBLIC_PW)
mConnection = XMPPTCPConnection(configBuilder.build())
mConnection?.replyTimeout = 3000
mConnection?.setUseStreamManagement(false)
mConnection?.setUseStreamManagementResumption(false)
mConnection?.setParsingExceptionCallback {
print(it.content)
}
mConnection?.addConnectionListener(object : ConnectionListener {
override fun connecting(connection: XMPPConnection?) {
super.connecting(connection)
}
override fun connected(connection: XMPPConnection?) {
mConnection?.login()
setAvailable()
}
override fun authenticated(connection: XMPPConnection?, resumed: Boolean) {
super.authenticated(connection, resumed)
}
override fun connectionClosed() {
super.connectionClosed()
}
override fun connectionClosedOnError(e: java.lang.Exception?) {
super.connectionClosedOnError(e)
}
})
mConnection?.connect()
} catch (e: UnknownHostException) {
e.printStackTrace()
Log.d(TAG, e.toString())
} catch (e: XmppStringprepException) {
e.printStackTrace()
Log.d(TAG, e.toString())
} catch (e: InterruptedException) {
e.printStackTrace()
Log.d(TAG, e.toString())
} catch (e: IOException) {
e.printStackTrace()
Log.d(TAG, e.toString())
} catch (e: SmackException) {
e.printStackTrace()
Log.d(TAG, e.toString())
} catch (e: XMPPException) {
createAccount()
mConnection?.login()
setAvailable()
// mConnection?.login()
e.printStackTrace()
Log.d(TAG, e.toString())
}
}
}.start()
}
When calling
mConnection?.login()
It must be waiting for
mConnection?.replyTimeout = 3000
(default 5second) or my custom setting(3 second) first, then successfully login.
Here is the following message :
W/DataFormProvider: The Field 'admin-addresses' from FORM_TYPE 'http://jabber.org/network/serverinfo' is not registered. Field type is unknown, assuming text-single.
W/HttpFileUploadManager: Error during discovering HTTP File Upload service
org.jivesoftware.smack.SmackException$NoResponseException: No response received within reply timeout. Timeout was 5000ms (~5s). StanzaCollector has been cancelled. Waited for response using: IQReplyFilter: iqAndIdFilter (AndFilter: (OrFilter: (IQTypeFilter: type=error, IQTypeFilter: type=result), StanzaIdFilter: id=HKJTW-2)), : fromFilter (OrFilter: (FromMatchesFilter (full): stdevzone.com)).
at org.jivesoftware.smack.StanzaCollector.nextResultOrThrow(StanzaCollector.java:281)
at org.jivesoftware.smack.StanzaCollector.nextResultOrThrow(StanzaCollector.java:228)
at org.jivesoftware.smackx.disco.ServiceDiscoveryManager.discoverInfo(ServiceDiscoveryManager.java:606)
at org.jivesoftware.smackx.disco.ServiceDiscoveryManager.discoverInfo(ServiceDiscoveryManager.java:578)
at org.jivesoftware.smackx.disco.ServiceDiscoveryManager.findServicesDiscoverInfo(ServiceDiscoveryManager.java:813)
at org.jivesoftware.smackx.disco.ServiceDiscoveryManager.findServicesDiscoverInfo(ServiceDiscoveryManager.java:781)
at org.jivesoftware.smackx.disco.ServiceDiscoveryManager.findServicesDiscoverInfo(ServiceDiscoveryManager.java:761)
at org.jivesoftware.smackx.httpfileupload.HttpFileUploadManager.discoverUploadService(HttpFileUploadManager.java:192)
at org.jivesoftware.smackx.httpfileupload.HttpFileUploadManager$2.authenticated(HttpFileUploadManager.java:129)
at org.jivesoftware.smack.AbstractXMPPConnection.callConnectionAuthenticatedListener(AbstractXMPPConnection.java:1704)
at org.jivesoftware.smack.AbstractXMPPConnection.afterSuccessfulLogin(AbstractXMPPConnection.java:795)
at org.jivesoftware.smack.tcp.XMPPTCPConnection.afterSuccessfulLogin(XMPPTCPConnection.java:371)
at org.jivesoftware.smack.tcp.XMPPTCPConnection.loginInternal(XMPPTCPConnection.java:469)
at org.jivesoftware.smack.AbstractXMPPConnection.login(AbstractXMPPConnection.java:641)
at org.jivesoftware.smack.AbstractXMPPConnection.login(AbstractXMPPConnection.java:598)
at com.stdevzone.supernotification.MessageService$connectToXMPPServer$1$1$2.connected(MessageService.kt:259)
at org.jivesoftware.smack.AbstractXMPPConnection.callConnectionConnectedListener(AbstractXMPPConnection.java:1697)
at org.jivesoftware.smack.AbstractXMPPConnection.connect(AbstractXMPPConnection.java:545)
at com.stdevzone.supernotification.MessageService.connectToXMPPServer$lambda-2(MessageService.kt:275)
at com.stdevzone.supernotification.MessageService.lambda$cMHxciJl94aHanccTGpX9en83a4(Unknown Source:0)
at com.stdevzone.supernotification.-$$Lambda$MessageService$cMHxciJl94aHanccTGpX9en83a4.run(Unknown Source:2)
at java.lang.Thread.run(Thread.java:919)
A URL in the message
The Field 'admin-addresses' from FORM_TYPE 'http://jabber.org/network/serverinfo' is not registered. Field type is unknown, assuming text-single.
http://jabber.org/network/serverinfo
Which is a 404 not found page
Is it related to my issue?
If not, any solution to fix it?
Thx