powered by Jive Software

Anonymously connect

I need to connect with anonymously user to Jive messenger server.

I enabled anonymous login in Jive messenger configuration and I try to connect with JabberApplet client.

I changed the xml query for logon in

error i found this Exception:

2005.09.02 12:02:24 [org.jivesoftware.messenger.handler.IQRosterHandler.handleIQ(IQRosterHandler.ja va:118)

] Internal server error

org.jivesoftware.messenger.auth.UnauthorizedException: org.jivesoftware.messenger.user.UserNotFoundException

at org.jivesoftware.messenger.handler.IQRosterHandler.manageRoster(IQRosterHandler .java:207)

at org.jivesoftware.messenger.handler.IQRosterHandler.handleIQ(IQRosterHandler.jav a:103)

at org.jivesoftware.messenger.handler.IQHandler.process(IQHandler.java:48)

at org.jivesoftware.messenger.IQRouter.handle(IQRouter.java:202)

at org.jivesoftware.messenger.IQRouter.route(IQRouter.java:73)

at org.jivesoftware.messenger.PacketRouter.route(PacketRouter.java:65)

at org.jivesoftware.messenger.net.SocketReadThread.readStream(SocketReadThread.jav a:285)

at org.jivesoftware.messenger.net.SocketReadThread.run(SocketReadThread.java:105)

Caused by: org.jivesoftware.messenger.user.UserNotFoundException

at org.jivesoftware.messenger.ClientSession.getUsername(ClientSession.java:236)

at org.jivesoftware.messenger.handler.IQRosterHandler.manageRoster(IQRosterHandler .java:172)

… 7 more

but from session console i found one Anonymous user Authenticated Online. Why?

Is possible to add a contact at anonymous roster list?

How Jive messenger manage a roster list for anonymous user?

Thanks a lot for helps.

P.S. Sorry for my english

Ciao miwa,

Anonymous users cannot have a roster since they don’'t have a real account on the server. Once the anonymous user has logged out the server will not keep any data for that session. If you need to use rosters (i.e. keep information across sessions) then you should use non-anonymous users.

However, if you need to use anonymous users and don’'t want to use a roster but you need to keep track of other user presences then you can use direct presences. Presence packets can be sent from a user to another user by specifying the full JID of the target user. Full JID is of the form . The server will just forward the direct presence to the desired user.


– Gato

ciao dombiak_gaston.

thanks for your help.

Now I have another question for you.

Is possible from my client to have presence information about user not in my roster?


Ciao miwa,

Yes, you can. If your client is not anonymous then you can use the shared groups feature provided by Jive Messenger. However, if your client is anonymous you will have to use direct presences.

For instance, lets have a non-anonymous user with JID userA@myserver and an anonymous user with JID “myserver/78fdbf7c”. Lets suppose that you want that the anonymous user can see the presence of userA. What we need to do is send this presence packet from userA:

. The anonymous user will get the presence of userA and will show it in the roster list.

You can also make the anonymous user send a direct present to userA or to other anonymous users. When a client sends a direct presence to another user, the client should send an unavailable presence when logging out or when the user no longer wants to be seen by the other user. Moreover, the server will send an unavailable presence in case the user that sent the direct available presence went offline and forgot to send the unavailable presence.

Hope that helps.


– Gato

Buongiorno Dombiak,

thanks for your fast answer.

I already used direct presence but it isn’'t what i need.

I need some xmpp query that give me some information about status of a generic user ( this user should be not exist ).

For instance, lets have two users A and B. B is not present in A’'s roster. For this moment anonymous is not important.

From user A can I send a xmpp query to know the status of B?