Extending XMPP messaging & ArchiveInterceptor problem

I’m trying to extend the base xmpp message types and add say message type xyz. When I do this the server throws an exception with the ArchiveInterceptor when it tries to invoke the Interceptors. Here’s the stack trace:

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

at org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java :239) at org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(Execut orFilter.java:283) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51) at java.lang.Thread.run(Unknown Source)2008.05.05 18:48:42 [org.jivesoftware.openfire.interceptor.InterceptorManager.invokeInterceptors(In terceptorManager.java:239)

] Error in interceptor: com.jivesoftware.openfire.enterprise.archive.ArchiveInterceptor@bbe73b while intercepting: <message type=“xyz” to=“jhopper” from=“jeff”> <body/> <vmsg xmlns=“xyz”> <length>5</length> < vdata>pRQ==</vdata> <format>a</format> </vmsg> </message> java.lang.Ill egalArgumentException: No enum const class org.xmpp.packet.Message$Type.xyz

at java.lang.Enum.valueOf(Unknown Source) at org.xmpp.packet.Message$Type.valueOf(Message.java:271) at org.xmpp.packet.Message.getType(Message.java:86) at com.jivesoftware.openfire.enterprise.archive.ConversationManager.isConversation (ConversationManager.java:751) at com.jivesoftware.openfire.enterprise.archive.ArchiveInterceptor.interceptPacket (ArchiveInterceptor.java:63)at org.jivesoftware.openfire.interceptor.InterceptorManager.invokeInterceptors(Int erceptorManager.java:227)at org.jivesoftware.openfire.MessageRouter.route(MessageRouter.java:109)at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:71)< span class=“hilite”>at org.jivesoftware.openfire.net.StanzaHandler.processMessage(StanzaHandler.java:3 34)at org.jivesoftware.openfire.net.ClientStanzaHandler.processMessage(ClientStanzaHa ndler.java:90)at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:195)at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:162)at org.jivesoftware.openfire.nio.ConnectionHandler.messageReceived(ConnectionHandl er.java:132)

at org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived (AbstractIoFilterChain.java:570) at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(Ab stractIoFilterChain.java:299) at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilt erChain.java:53) at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceive d(AbstractIoFilterChain.java:648) at org.apache.mina.common.IoFilterAdapter.messageReceived(IoFilterAdapter.java:80) at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(Ab stractIoFilterChain.java:299) at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilt erChain.java:53) at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceive d(AbstractIoFilterChain.java:648) at org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimplePr otocolDecoderOutput.java:58) at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecF ilter.java:180) at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(Ab stractIoFilterChain.java:299) at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilt erChain.java:53) at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceive d(AbstractIoFilterChain.java:648) at org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java :239) at org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(Execut orFilter.java:283) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51) at java.lang.Thread.run(Unknown Source)

This occurs in 3.5.0, 3.5.1 and the source from SVN which builds 3.6.0. The 3.5.x installations I’ve tried this with and without the Enterprise plugin, both options throw the same exception. With 3.6.0 the runtime just eats the exception and no error gets logged.

Ideas?

Ran down the problem here. The server was / is throwing an exception that is benign. My client code was throwing an error in the xml dom layer because a specific class did not have a default constructor. Having fixed that my messages are flowing through openfire without any problem.