5

I have an openfire server setted up on my local machine. I am trying to connect this server, but getting "No response from server" error. Not sure why?

I have spark client on the same machine that is getting connected to the server successfully.

Can you please help me out to identify the problem?

Below is the log details that might help

07-30 01:01:02.570: I/System.out(424): 01:01:02 AM SENT (1156489960): <stream:stream to="192.168.1.3"             xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" version="1.0">
07-30 01:01:02.593: I/System.out(424): 01:01:02 AM RCV  (1156489960): <?xml version='1.0'  encoding='UTF-8'?><stream:stream xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client"  from=
07-30 01:01:02.593: I/System.out(424): 01:01:02 AM RCV  (1156489960): "praleeds" id="39bc1246" xml:lang="en" version="1.0"><stream:features><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"></startt
07-30 01:01:02.593: I/System.out(424): 01:01:02 AM RCV  (1156489960): ls><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>DIGEST-MD5</mechanism><mechanism>PLAIN</mechanism><mechanism>
07-30 01:01:02.593: I/System.out(424): 01:01:02 AM SENT (1156489960): <starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>
07-30 01:01:02.617: I/System.out(424): 01:01:02 AM RCV  (1156489960): ANONYMOUS</mechanism><mechanism>CRAM-MD5</mechanism></mechanisms><compression xmlns="http://jabber.org/features/compress"><metho
07-30 01:01:02.617: I/System.out(424): 01:01:02 AM RCV  (1156489960): d>zlib</method></compression><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-re
07-30 01:01:02.623: I/System.out(424): 01:01:02 AM RCV  (1156489960): gister"/></stream:features><proceed xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>
07-30 01:01:02.835: W/System.err(424): java.security.KeyStoreException: KeyStore jks implementation not found
07-30 01:01:02.835: W/System.err(424):  at java.security.KeyStore.getInstance(KeyStore.java:134)
07-30 01:01:02.835: W/System.err(424):  at org.jivesoftware.smack.ServerTrustManager.<init>(ServerTrustManager.java:61)
07-30 01:01:02.835: W/System.err(424):  at org.jivesoftware.smack.XMPPConnection.proceedTLSReceived(XMPPConnection.java:839)
07-30 01:01:02.835: W/System.err(424):  at org.jivesoftware.smack.PacketReader.parsePackets(PacketReader.java:268)
07-30 01:01:02.835: W/System.err(424):  at org.jivesoftware.smack.PacketReader.access$000(PacketReader.java:44)
07-30 01:01:02.835: W/System.err(424):  at org.jivesoftware.smack.PacketReader$1.run(PacketReader.java:71)
07-30 01:01:11.612: W/ActivityManager(59): Launch timeout has expired, giving up wake lock!
07-30 01:01:12.038: W/ActivityManager(59): Activity idle timeout for HistoryRecord{45072328 com.android.notifications/.NotificationsActivity}
07-30 01:01:17.284: D/dalvikvm(235): GC_EXPLICIT freed 156 objects / 11400 bytes in 228ms
07-30 01:01:17.653: I/System.out(424): 01:01:17 AM SENT (1156489960): <iq id="Q41Dw-0" to="praleeds" type="set"><query xmlns="jabber:iq:register"><password>praleed</password><email>praleedsuvarna@gmail.com</email><username>praleedsuvarna</username><name>Praleed Suvarna</name></query></iq>
07-30 01:01:22.344: D/dalvikvm(260): GC_EXPLICIT freed 45 objects / 2176 bytes in 239ms
07-30 01:01:22.693: V/Praleed-Notifications(424): No Response from Server; Host : 192.168.1.3; User : null
07-30 01:01:22.924: I/ActivityManager(59): Displayed activity com.android.notifications/.NotificationsActivity: 21292 ms (total 21292 ms)
07-30 01:01:23.545: I/global(424): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required.
07-30 01:01:23.545: I/global(424): Default buffer size used in BufferedWriter constructor. It would be better to be explicit if an 8k-char buffer is required.
07-30 01:01:23.553: I/System.out(424): 01:01:23 AM SENT (1156489960): <stream:stream to="praleeds" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" version="1.0">
07-30 01:01:23.573: I/System.out(424): 01:01:23 AM SENT (1156489960): <presence id="Q41Dw-1" type="unavailable"></presence>
07-30 01:01:23.573: I/System.out(424): 01:01:23 AM SENT (1156489960): </stream:stream>
07-30 01:01:23.799: W/System.err(424): java.io.IOException: Read error: Failure in SSL library, usually a protocol error
07-30 01:01:23.803: W/System.err(424):  at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.nativeread(Native Method)
07-30 01:01:23.803: W/System.err(424):  at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.access$300(OpenSSLSocketImpl.java:55)
07-30 01:01:23.803: W/System.err(424):  at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl$SSLInputStream.read(OpenSSLSocketImpl.java:542)
07-30 01:01:23.803: W/System.err(424):  at java.io.InputStreamReader.read(InputStreamReader.java:275)
07-30 01:01:23.813: W/System.err(424):  at java.io.BufferedReader.fillBuf(BufferedReader.java:155)
07-30 01:01:23.813: W/System.err(424):  at java.io.BufferedReader.read(BufferedReader.java:348)
07-30 01:01:23.813: W/System.err(424):  at org.jivesoftware.smack.util.ObservableReader.read(ObservableReader.java:42)
07-30 01:01:23.813: W/System.err(424):  at org.kxml2.io.KXmlParser.peek(KXmlParser.java:931)
07-30 01:01:23.813: W/System.err(424):  at org.kxml2.io.KXmlParser.peekType(KXmlParser.java:589)
07-30 01:01:23.813: W/System.err(424):  at org.kxml2.io.KXmlParser.nextImpl(KXmlParser.java:333)
07-30 01:01:23.813: W/System.err(424):  at org.kxml2.io.KXmlParser.next(KXmlParser.java:1385)
07-30 01:01:23.823: W/System.err(424):  at org.jivesoftware.smack.PacketReader.parsePackets(PacketReader.java:326)
07-30 01:01:23.823: W/System.err(424):  at org.jivesoftware.smack.PacketReader.access$000(PacketReader.java:44)
07-30 01:01:23.823: W/System.err(424):  at org.jivesoftware.smack.PacketReader$1.run(PacketReader.java:71)

I am using the below code

    System.setProperty("smack.debugEnabled", "true");
    XMPPConnection.DEBUG_ENABLED = true;

    ConnectionConfiguration config = new ConnectionConfiguration("192.168.1.3", 5222);
    Connection connection = new XMPPConnection(config);
    try {
        connection.connect();
        AccountManager am = connection.getAccountManager();
        HashMap<String, String> attributes = new HashMap<String, String>();
        attributes.put("username", "xyz");
        attributes.put("password", "******");
        attributes.put("email", "xyz@gmail.com");
        attributes.put("name", "xyz");

        am.createAccount("xyz", "******", attributes);
    }

Thanks in advance.

Prals
  • 606
  • 3
  • 7
  • 22
  • can you provide some codes how you connect to the server? – Ali Jul 29 '12 at 20:35
  • Hi Ali, I just edited my post. Thanks for taking interest in my post. – Prals Jul 29 '12 at 20:45
  • 1
    I used 'SmackConfiguration.setPacketReplyTimeout(10000);' and it worked. Can anyone help me to understand why I need to increase the reply timeout. Please Note the server is installed on the local machine. – Prals Jul 29 '12 at 21:04

2 Answers2

26

Did you notice the error:

7-30 01:01:02.835: W/System.err(424): java.security.KeyStoreException: KeyStore jks implementation not found
07-30 01:01:02.835: W/System.err(424):  at java.security.KeyStore.getInstance(KeyStore.java:134)
07-30 01:01:02.835: W/System.err(424):  at org.jivesoftware.smack.ServerTrustManager.<init>(ServerTrustManager.java:61)
07-30 01:01:02.835: W/System.err(424):  at org.jivesoftware.smack.XMPPConnection.proceedTLSReceived(XMPPConnection.java:839)
07-30 01:01:02.835: W/System.err(424):  at org.jivesoftware.smack.PacketReader.parsePackets(PacketReader.java:268)
07-30 01:01:02.835: W/System.err(424):  at org.jivesoftware.smack.PacketReader.access$000(PacketReader.java:44)
07-30 01:01:02.835: W/System.err(424):  at org.jivesoftware.smack.PacketReader$1.run(PacketReader.java:71)

make sure to fix the truststore implementation! If you are using aSmack for example with

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
    connectionConfiguration.setTruststoreType("AndroidCAStore");
    connectionConfiguration.setTruststorePassword(null);
    connectionConfiguration.setTruststorePath(null);
} else {
    connectionConfiguration.setTruststoreType("BKS");
    String path = System.getProperty("javax.net.ssl.trustStore");
    if (path == null)
        path = System.getProperty("java.home") + File.separator + "etc"
            + File.separator + "security" + File.separator
            + "cacerts.bks";
    connectionConfiguration.setTruststorePath(path);
}

Source

Flow
  • 23,572
  • 15
  • 99
  • 156
  • 1
    Thanks a ton Flow... I have implemented your suggestion and it helped me to reduce the errors – Prals Aug 16 '12 at 21:36
  • @Flow this code i used,i followed these steps as mention in the link http://randomizedsort.blogspot.in/2010/09/step-to-step-guide-to-programming.html ,even its throwing NPE at org.jivesoftware.smack.XMPPConnection.proceedTLSReceived(XMPPConnection.java:839) – Karthick M Apr 04 '14 at 06:59
  • 1
    HI Flow, How can I implement this using smack 4.0.0 – Kirit Vaghela Jun 19 '14 at 13:42
7

I have increased the reply timeout and it worked like charm.

SmackConfiguration.setPacketReplyTimeout(10000);

though not sure why I need to do so when the server is installed on the same machine.

Prals
  • 606
  • 3
  • 7
  • 22