JID without the domain name in Roster

Hey Guys, I tried to search around but so far i cant find any answer of why the roster i get by using the smack API is invalid. As from what i know of, JID should be appear like eg:kbsao@example.com but not kbsao. But all the while i received kbsao and alway have to be append the domain name from the native app in order for me to send out msg. I try to make change on the server name in admin console but somehow it doest work. but it do appear RSA cert invalid. Does it effect?

I do register some user for testing purpose, anyhow some of the user alway get kick out. but some do not. Is it any wrong with the server? openfire.xml?

Even i able to login, but somehow the presenceListener doest notify even another user is online.Any Idea?

Any help appreciated.