Problem with VCard

Good evening!

I have an error with setting VCard for users: every time i try to login to my jabber i have a blank VCard.

As written in logs below i use internal database for saving VCards and all authentification data.

How can i correct this problem with my openfire server?

Currently logged in:

at org.jivesoftware.openfire.XMPPServer$ShutdownHookThread.run(XMPPServer.java:811 )

2007.05.04 18:27:51 org.jivesoftware.openfire.vcard.DefaultVCardProvider.loadVCard(DefaultVCardProvi der.java:81) Error loading vCard of username: anton

org.dom4j.DocumentException: Error on line 22 of document : Character reference “&#0” is an invalid XML character. Nested exception: Character reference “&#0” is an invalid XML character.

at org.dom4j.io.SAXReader.read(SAXReader.java:482)

at org.dom4j.io.SAXReader.read(SAXReader.java:365)

at org.jivesoftware.openfire.vcard.DefaultVCardProvider.loadVCard(DefaultVCardProv ider.java:76)

at org.jivesoftware.openfire.vcard.VCardManager.getOrLoadVCard(VCardManager.java:1 98)

at org.jivesoftware.openfire.vcard.VCardManager.getVCard(VCardManager.java:191)

at org.jivesoftware.openfire.handler.IQvCardHandler.handleIQ(IQvCardHandler.java:1 07)

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

at org.jivesoftware.openfire.IQRouter.handle(IQRouter.java:300)

at org.jivesoftware.openfire.IQRouter.route(IQRouter.java:104)

at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:67)

at org.jivesoftware.openfire.net.SocketReader.processIQ(SocketReader.java:243)

at org.jivesoftware.openfire.net.ServerSocketReader.access$001(ServerSocketReader. java:46)

at org.jivesoftware.openfire.net.ServerSocketReader$1.run(ServerSocketReader.java: 79)

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)

Nested exception:

org.xml.sax.SAXParseException: Character reference “&#0” is an invalid XML character.

at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseExcep tion(Unknown Source)

at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source)

at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)

at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)

at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown Source)

at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanCharReferenceValue(Unkno wn Source)

at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanChar Reference(Unknown Source)

at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$Fragment ContentDispatcher.dispatch(Unknown Source)

at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocu ment(Unknown Source)

at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)

at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)

at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)

at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)

at org.dom4j.io.SAXReader.read(SAXReader.java:465)

at org.dom4j.io.SAXReader.read(SAXReader.java:365)

at org.jivesoftware.openfire.vcard.DefaultVCardProvider.loadVCard(DefaultVCardProv ider.java:76)

at org.jivesoftware.openfire.vcard.VCardManager.getOrLoadVCard(VCardManager.java:1 98)

at org.jivesoftware.openfire.vcard.VCardManager.getVCard(VCardManager.java:191)

at org.jivesoftware.openfire.handler.IQvCardHandler.handleIQ(IQvCardHandler.java:1 07)

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

at org.jivesoftware.openfire.IQRouter.handle(IQRouter.java:300)

at org.jivesoftware.openfire.IQRouter.route(IQRouter.java:104)

at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:67)

at org.jivesoftware.openfire.net.SocketReader.processIQ(SocketReader.java:243)

at org.jivesoftware.openfire.net.ServerSocketReader.access$001(ServerSocketReader. java:46)

at org.jivesoftware.openfire.net.ServerSocketReader$1.run(ServerSocketReader.java: 79)

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)

Trying to set VCard:

at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:67)

at org.jivesoftware.openfire.net.StanzaHandler.processIQ(StanzaHandler.java:289)

at org.jivesoftware.openfire.net.ClientStanzaHandler.processIQ(ClientStanzaHandler .java:79)

at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:254)

at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:153)

at org.jivesoftware.openfire.nio.ConnectionHandler.messageReceived(ConnectionHandl er.java:132)

at org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived (AbstractIoFilterChain.java:703)

at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(Ab stractIoFilterChain.java:362)

at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilt erChain.java:54)

at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceive d(AbstractIoFilterChain.java:800)

at org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimplePr otocolDecoderOutput.java:62)

at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecF ilter.java:200)

at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(Ab stractIoFilterChain.java:362)

at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilt erChain.java:54)

at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceive d(AbstractIoFilterChain.java:800)

at org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java :266)

at org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(Execut orFilter.java:326)

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)

2007.05.04 18:53:53 org.jivesoftware.openfire.vcard.DefaultVCardProvider.createVCard(DefaultVCardPro vider.java:113) Error creating vCard for username: anton

java.sql.SQLException: Unique constraint violation: SYS_IDX_53 in statement

at org.hsqldb.jdbc.Util.throwError(Unknown Source)

at org.hsqldb.jdbc.jdbcPreparedStatement.executeUpdate(Unknown Source)

at org.jivesoftware.openfire.vcard.DefaultVCardProvider.createVCard(DefaultVCardPr ovider.java:110)

at org.jivesoftware.openfire.vcard.VCardManager.setVCard(VCardManager.java:142)

at org.jivesoftware.openfire.handler.IQvCardHandler.handleIQ(IQvCardHandler.java:8 2)

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

at org.jivesoftware.openfire.IQRouter.handle(IQRouter.java:300)

at org.jivesoftware.openfire.IQRouter.route(IQRouter.java:104)

at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:67)

at org.jivesoftware.openfire.net.StanzaHandler.processIQ(StanzaHandler.java:289)

at org.jivesoftware.openfire.net.ClientStanzaHandler.processIQ(ClientStanzaHandler .java:79)

at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:254)

at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:153)

at org.jivesoftware.openfire.nio.ConnectionHandler.messageReceived(ConnectionHandl er.java:132)

at org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived (AbstractIoFilterChain.java:703)

at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(Ab stractIoFilterChain.java:362)

at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilt erChain.java:54)

at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceive d(AbstractIoFilterChain.java:800)

at org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimplePr otocolDecoderOutput.java:62)

at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecF ilter.java:200)

at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(Ab stractIoFilterChain.java:362)

at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilt erChain.java:54)

at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceive d(AbstractIoFilterChain.java:800)

at org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java :266)

at org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(Execut orFilter.java:326)

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)

Looks like you’‘ve got a character it doesn’'t like in your VCard. Go into the database and delete your vcard and make a new one.

If you work out what it didn’'t like, make sure to let the developers know.

Hi,

are you using MSSQL (and Openfire on Linux)? I think it’'s a bug in the MSSQL JDBC driver, which you may need to update.

LG

bemace,

So… i have been deleted my VCard insertion string in database, start openfire, set VCard via Spark client and it’'s have been stored in database.

After restarting Openfire and Spark my new VCard can’'t load ito Spark with this exceptions on my Openfire:

at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)

at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown Source)

at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanCharReferenceValue(Unkno wn Source)

at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanChar Reference(Unknown Source)

at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$Fragment ContentDispatcher.dispatch(Unknown Source)

at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocu ment(Unknown Source)

at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)

at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)

at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)

at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)

at org.dom4j.io.SAXReader.read(SAXReader.java:465)

at org.dom4j.io.SAXReader.read(SAXReader.java:365)

at org.jivesoftware.openfire.vcard.DefaultVCardProvider.loadVCard(DefaultVCardProv ider.java:76)

at org.jivesoftware.openfire.vcard.VCardManager.getOrLoadVCard(VCardManager.java:1 98)

at org.jivesoftware.openfire.vcard.VCardManager.getVCard(VCardManager.java:191)

at org.jivesoftware.openfire.handler.IQvCardHandler.handleIQ(IQvCardHandler.java:1 07)

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

at org.jivesoftware.openfire.IQRouter.handle(IQRouter.java:300)

at org.jivesoftware.openfire.IQRouter.route(IQRouter.java:104)

at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:67)

at org.jivesoftware.openfire.net.SocketReader.processIQ(SocketReader.java:243)

at org.jivesoftware.openfire.net.ServerSocketReader.access$001(ServerSocketReader. java:46)

at org.jivesoftware.openfire.net.ServerSocketReader$1.run(ServerSocketReader.java: 79)

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)

2007.05.08 10:22:27 org.jivesoftware.openfire.session.OutgoingServerSession.createOutgoingSession(Ou tgoingServerSession.java:258) Error trying to connect to remote server: tlton.ru(DNS lookup: tlton.ru:5269)

java.net.UnknownHostException: tlton.ru

at java.net.PlainSocketImpl.connect(Unknown Source)

at java.net.SocksSocketImpl.connect(Unknown Source)

at java.net.Socket.connect(Unknown Source)

at org.jivesoftware.openfire.session.OutgoingServerSession.createOutgoingSession(O utgoingServerSession.java:253)

at org.jivesoftware.openfire.session.OutgoingServerSession.authenticateDomain(Outg oingServerSession.java:142)

at org.jivesoftware.openfire.server.OutgoingSessionPromise$PacketsProcessor.sendPa cket(OutgoingSessionPromise.java:199)

at org.jivesoftware.openfire.server.OutgoingSessionPromise$PacketsProcessor.run(Ou tgoingSessionPromise.java:184)

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)

2007.05.08 10:22:27 org.jivesoftware.openfire.session.OutgoingServerSession.createOutgoingSession(Ou tgoingServerSession.java:258) Error trying to connect to remote server: ru(DNS lookup: ru:5269)

java.net.UnknownHostException: ru

at java.net.PlainSocketImpl.connect(Unknown Source)

at java.net.SocksSocketImpl.connect(Unknown Source)

at java.net.Socket.connect(Unknown Source)

at org.jivesoftware.openfire.session.OutgoingServerSession.createOutgoingSession(O utgoingServerSession.java:253)

at org.jivesoftware.openfire.session.OutgoingServerSession.authenticateDomain(Outg oingServerSession.java:184)

at org.jivesoftware.openfire.server.OutgoingSessionPromise$PacketsProcessor.sendPa cket(OutgoingSessionPromise.java:199)

at org.jivesoftware.openfire.server.OutgoingSessionPromise$PacketsProcessor.run(Ou tgoingSessionPromise.java:184)

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)

it2000, i use internal database at Debian 2.6.16…

We had a similar problem with a DB/2 as back end. It turned out to be a problem with the size of the VCARD table in the database. The error was an empty vcard after a cache clearing.

Walter

The error logging format is a line containing the Exception, followed by the stack trace, which shows the calls that led to the exception. I think the beginning of your messages shows the end of the stack trace for the important exception, but you’'re missing the first part. The first line will look similar to the ones that the forums automatically turned into links.

It still looks like a problem generating the xml (which would be a bug). Try leaving out characters like <,>, /, and & and see if anything changes.

bemace wrote:

It still looks like a problem generating the xml (which would be a bug). Try leaving out characters like <,>, /, and & and see if anything changes.

Hmm… i don’‘t use any specific characters in VCARD… And i have detected somenting strange with group names that contains cyrillic “g”. For example, i can’'t to set “??? ???” as group name.

webeling wrote:

We had a similar problem with a DB/2 as back end. It turned out to be a problem with the size of the VCARD table in the database. The error was an empty vcard after a cache clearing.

Hmm… And how you solved this problem?

I have problem with the vcard too… my issue was some info being pulled from LDAP and some being static (like fax) number. I have reported but I have not heard back.

See

http://www.igniterealtime.org/forum/thread.jspa?threadID=27103