powered by Jive Software

Vcard fetching error 404

Hello, I have openfire running on a Fedora 6 Virtual machine with the database stored in MYSQL, my clients are using neos and everytime I try to look up account information it says error fetching info - 404… does anyone know why that might occur? When I was using spark the vcards seemed to work correctly, and if you enter your account information into neos and press publish it will write the vard info to the database. So why can’t it read/find the info? Is it maybe a permisison issue with mysql?



To eliminate MySQL permissions errors elevate the permissions of the mysql user temporarily.

Hi Matt,

Probably not mysql problem. Are you seeing any error/warning in openfire’s error.log / warn.log? If not, my guess is that neos is not reading the returned vcard correctly. I don’t use neos, so I don’t know if you can turn on the packet debugging that might help you troubleshoot.

Hello mtstravel,

Thanks for the response, right after I posted the question I went and checked the permissions. The openfire DB is being accessed by a user with all permissions to it.



I got this from the debug log when I try to access vcard info…

<iq id=“mr15417” to="mrogers@" type=“get” from=“mrogers@prn/neos”>

<vCard xmlns=“vcard-temp” prodid="-//HandGen//NONSGML vGen v1.0//EN" version=“2.0”/>


I think there might be something in your openfire error.log. BTW, what is the name of the xmpp server for your openfire? you can check this through openfire admin console.

The error.log is clean. The servername is prn, but my clients are not reoslving hostname just IP directly. I installed Openfire 3.3.2 by RPM

amI supposed to find vcard.jar and install that plugin in order for vcards to work properly? They worked fine with spark + Openfire without it? I found a caopy of vcard.jar but i get adn error when Openfire tries to load it.

2007.08.21 11:16:58 org.jivesoftware.openfire.container.PluginManager.loadPlugin(PluginManager.java: 462) Error loading plugin: /opt/openfire/plugins/vcard
java.lang.NoClassDefFoundError: org/jivesoftware/wildfire/container/Plugin
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.jivesoftware.openfire.container.PluginClassLoader.loadClass(PluginClassLoad er.java:162)
at org.jivesoftware.openfire.container.PluginManager.loadPlugin(PluginManager.java :345)
at org.jivesoftware.openfire.container.PluginManager.access$200(PluginManager.java :46)
at org.jivesoftware.openfire.container.PluginManager$PluginMonitor.run(PluginManag er.java:916)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(Unknown Source)
at java.util.concurrent.FutureTask.runAndReset(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101 (Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodi c(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknow n Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Ok I am confused, are you using the built in database or mysql? I just installed neos and it works perfectly with vcards for me using the built in database.

I am not using the embedded database, I am using mysql.

Looks like the is requesting for a vcard of a user on an IP-addr, not prn server. What do you login as? Has to be mrogers@prn, not morgers@ neos must have had an option to directly connect to an IP instead of resolving prn.

Here is the info from my Database config screen

Database Properties

Below is a list of properties for your database and the JDBC driver.

Database Connection Info

Database and Version: MySQL 5.0.27

JDBC Driver: MySQL-AB JDBC Driver

JDBC Driver Version: mysql-connector-java-3.1.13 ( $Date: 2005-11-17 15:53:48 +0100 (Thu, 17 Nov 2005) $, $Revision$ )

DB Connection URL: jdbc:mysql://localhost:3306/openfire

DB User: openfireadmin@localhost

Transaction Support: Yes

Transaction Isolation Level: TRANSACTION_READ_COMMITTED

Supports multiple connections

open at once: Yes

In read-only mode: No

Hmm… so your saying I should create a DNS entry in our domain reoslving to prn? The clients logon to the server as <username>@ When you setup the neos client you can enter the server name or IP I just assumed since it was on a remote network and the hostname shouldn’t make a huge difference I would use th IP. I will edit my DNS and see if that fixes it.


I do not have the vcard.jar plugin either, so I would assume that may not be the issue. I think it is a server name configuration issue or sql error. What is your server name in the openfire admin configuration?

I don’t actually suggest that you setup your DNS, though it’s a way to solve the problem.

In any way, you have to login as mrogers@prn. If you notice in Spark login screen, there is an option to specify IP address explicitly. There must be a similar functionality on neos login screen.

As an alternative, you may also want to try setting openfire servername as and login as mrogers@

You rock! In the neos configuration there is an option to give the IP and then manually specify the server name, which changes your username to <username>@<servername> even though it still displays <username>@<serverIP>. Thanks!