if(XMPPConstants.XMPP_SERVER_TYPE_JABBER.equals(serverCredentials.getServerType())){
ConnectionListener connectionListener = null;
try
{
//XMPPConnection.DEBUG_ENABLED = true;
xmppConnection = new XMPPConnection(serverCredentials.getServerUrl());
xmppConnection.connect();
connectionListener = new ConnectionListener(){
public void connectionClosed() {
log.debug("Connection closed normally");
}
public void connectionClosedOnError(
Exception e1) {
log.debug("Connection to "+serverCredentials.getServerUrl()
+ " closed with error.",e1);
log.debug("Retrying to connect in 2 secs");
try
{
Thread.sleep(2000);
xmppConnection = new XMPPConnection(serverCredentials.getServerUrl());
log.debug("connected to "+serverCredentials.getServerUrl());
} catch (InterruptedException e2) {
log.debug("Sleep interrupted.",e2);
}
}
public void reconnectingIn(int seconds) {
}
public void reconnectionFailed(Exception e) {
}
public void reconnectionSuccessful() {
}
};
xmppConnection.addConnectionListener(connectionListener);
}
catch(XMPPException e){
log.error("Failed to connect to server :"+serverCredentials.getServerUrl(), e);
throw new AxisFault("Failed to connect to server :"+serverCredentials.getServerUrl());
}
//Pause for a small time before trying to login.
//This prevents random ssl exception from Smack API
try {
Thread.sleep(100);
} catch (InterruptedException e5) {
log.debug("Sleep interrupted ",e5);
}
if(xmppConnection.isConnected()){
if(! xmppConnection.isAuthenticated()){
try {
xmppConnection.login(serverCredentials.getAccountName()+"@"+
serverCredentials.getServerUrl(),
serverCredentials.getPassword(),
serverCredentials.getResource(),
true);
} catch (XMPPException e) {
try {
log.error("Login failed for "
+serverCredentials.getAccountName()
+"@"+serverCredentials.getServerUrl()
+".Retrying in 2 secs",e);
Thread.sleep(2000);
xmppConnection.login(serverCredentials.getAccountName()+"@"+
serverCredentials.getServerUrl(),
serverCredentials.getPassword(),
serverCredentials.getResource(),
true);
} catch (InterruptedException e1) {
log.error("Sleep interrupted.",e1);
} catch (XMPPException e2) {
log.error("Login failed for : "+serverCredentials.getAccountName()
+"@"+serverCredentials.getServerUrl(),e2);
throw new AxisFault("Login failed for : "+serverCredentials.getAccountName()
+"@"+serverCredentials.getServerUrl());
}
}
//Listen for Message type packets from specified server url
//packetFilter = new AndFilter(new PacketTypeFilter(Message.class),
// new FromContainsFilter(serverCredentials.getServerUrl()));
packetFilter = new FromContainsFilter(serverCredentials.getServerUrl());
}
}
}else if(XMPPConstants.XMPP_SERVER_TYPE_GOOGLETALK.equals(serverCredentials.getServerType())){
try {
ConnectionConfiguration connectionConfiguration =
new ConnectionConfiguration(XMPPConstants.GOOGLETALK_URL
,XMPPConstants.GOOGLETALK_PORT
,XMPPConstants.GOOGLETALK_SERVICE_NAME);
xmppConnection = new XMPPConnection(connectionConfiguration);
xmppConnection.connect();
xmppConnection.login(serverCredentials.getAccountName()
, serverCredentials.getPassword()
,serverCredentials.getResource(),