Thanks Dan for your help. Adding asm to the classpath did the trick.

-Arul

Daniel Kulp wrote:
Do you have an asm-2.x or asm-3.x jar on the classpath? I think this is one of the use cases where it's completely required. If so, can I see the complete SEI interface with all the annotations? You don't have it set to "BARE" mode, do you?

Dan


On Monday 04 August 2008 1:34:27 pm Arul Dhesiaseelan wrote:
Hello,

I get the following marshaling error when invoking my service. I am
using CXF 2.1.1.

INFO: Interceptor has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Marshalling Error: java.util.ArrayList
    at
org.apache.cxf.jaxb.JAXBEncoderDecoder.marshalWithBridge(JAXBEncoderDecoder
.java:249) at
org.apache.cxf.jaxb.io.DataWriterImpl.write(DataWriterImpl.java:87) at
org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writeParts(Abs
tractOutDatabindingInterceptor.java:113) at
org.apache.cxf.interceptor.BareOutInterceptor.handleMessage(BareOutIntercep
tor.java:68) at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChai
n.java:221) at
org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingC
hainInterceptor.java:74) at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChai
n.java:221) at
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationO
bserver.java:78) at
org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(Jet
tyHTTPDestination.java:278) at
org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTT
PDestination.java:252) at
org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandle
r.java:70) at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
    at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCol
lection.java:206) at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at org.mortbay.jetty.Server.handle(Server.java:320)
    at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
    at
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java
:842) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:648) at
org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) at
org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380) at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395
) at
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:
450) Caused by: javax.xml.bind.MarshalException
 - with linked exception:
[java.lang.ClassCastException: java.util.ArrayList]
    at
com.sun.xml.bind.v2.runtime.BridgeAdapter._adaptM(BridgeAdapter.java:118)
    at
com.sun.xml.bind.v2.runtime.BridgeAdapter.adaptM(BridgeAdapter.java:105)
    at
com.sun.xml.bind.v2.runtime.BridgeAdapter.marshal(BridgeAdapter.java:81)
    at com.sun.xml.bind.api.Bridge.marshal(Bridge.java:107)
    at com.sun.xml.bind.api.Bridge.marshal(Bridge.java:102)
    at
org.apache.cxf.jaxb.JAXBEncoderDecoder.marshalWithBridge(JAXBEncoderDecoder
.java:230) ... 21 more
Caused by: java.lang.ClassCastException: java.util.ArrayList
    at
impl.services.adapters.MessageAdapter.marshal(MessageAdapter.java:15) at
com.sun.xml.bind.v2.runtime.BridgeAdapter._adaptM(BridgeAdapter.java:115)
    ... 26 more

My service has just one method implemented.

public List<Message> getMessages(String filter);

Message is an interface and I tied the interface to the implementation
using JAXB XmlJavaTypeAdapter and my adapter code is shown below.

public class MessageAdapter extends XmlAdapter<MessageImpl, Message> {
    public MessageImpl marshal(Message v) throws Exception {
      return (MessageImpl)v;
    }
    public Message unmarshal(MessageImpl v) throws Exception {
      return v;
    }
}
Am I missing anything here?

Appreciate any help.

Best regards,
Arul



Reply via email to