Hi All, I am using JiBX for implementing my own (De)Serializers replacing AXIS default (De)Serializers. However when I register my (De)Serializers with AXIS's server-config.wsdd file and start my web service deployed on WebSphere 5.0, I am getting below detailed server stack trace :
[2/6/05 17:04:20:345 IST] 39ce702e WebGroup I SRVE0180I: [Apache-Axis] [/Axis11Rc2IrscEjbWeb] [Servlet.LOG]: AdminServlet: init [2/6/05 17:04:20:814 IST] 39ce702e WebGroup I SRVE0180I: [Apache-Axis] [/Axis11Rc2IrscEjbWeb] [Servlet.LOG]: SOAPMonitorService: init [2/6/05 17:05:03:204 IST] 152a3029 WebGroup I SRVE0180I: [Apache-Axis] [/Axis11Rc2IrscEjbWeb] [Servlet.LOG]: AxisServlet: init [2/6/05 17:05:07:236 IST] 152a3029 WebGroup E SRVE0026E: [Servlet Error]-[: incorrect call to interface method ]: java.lang.IncompatibleClassChangeError: : incorrect call to interface method at com.tri.TriJibxDeser.onEndElement(TriJibxDeser.java:74) at org.apache.axis.encoding.DeserializerImpl.endElement(DeserializerImpl.java:534) at org.apache.axis.encoding.DeserializationContextImpl.endElement(DeserializationContextImpl.java:1001) at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:204) at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:718) at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:232) at org.apache.axis.message.RPCElement.getParams(RPCElement.java:346) at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:184) at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:330) at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71) at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150) at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120) at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:475) at org.apache.axis.server.AxisServer.invoke(AxisServer.java:323) at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:854) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:339) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110) at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174) at com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java:313) at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116) at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283) at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42) at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40) at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:948) at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:530) at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:176) at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:79) at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:201) at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71) at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:182) at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:334) at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56) at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:610) at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:431) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:593) Here is the code of my JiBX Deserializer java class : -------------------------------------------------------- public class TriJibxDeser extends DeserializerImpl { public TriJibxDeser(Class clas, QName qname, IUnmarshallingContext uctx) { m_javaType = clas; m_xmlType = qname; m_context = uctx; } public void onEndElement(String ns, String lname, DeserializationContext dctx) throws SAXException { if(!m_xmlType.getNamespaceURI().equals(ns) || !m_xmlType.getLocalPart().equals(lname)) { throw new SAXException("incompatable type passed to JiBX deserializer"); } MessageElement element = dctx.getCurElement(); if(element != null) { String text = null; try { text = element.toString(); value = m_context.unmarshalDocument(new StringReader(text)); } catch(JiBXException e) { throw new SAXException("error in JiBX deserialization : " + e.getMessage(), e); } catch(Exception e) { throw new SAXException("Error reading element text: " + e.getMessage(), e); } } } private static Log s_log; private QName m_xmlType; private Class m_javaType; private IUnmarshallingContext m_context; } -------------------------------------------------------- Can anyone tell how do I go ahead and debug this problem and find a solution. Please suggest ? Thanks & Regards, Kumar.