Hi,

I'm having a problem getting a result back from a web service call.  I get a
ClassCastException in the PostInvocationHandler and need some help to
resolve it.

Some background...

I have a class similar to the following:
public class Event
{
        private Integer                 id;
        private MetaData              metaData;
        private List<Case>            linkedCases;
        private List<EventLink>     linkedEvents;
        ....
        /*  public getters/setters */
}

Note: MetaData is another class that resembles the following:
public class MetaData
{
    private Integer gid;
    private Date    dateCreated;
    private Date    dateModified;
    private Integer authorId;
    private Integer modifierId;
    ...
    /* getters/setters below */
}
     
Additionally, I have a SoapServlet class defined as follows:
public class SoapServlet extends XFireServlet
{
        public void init() throws ServletException
        {
                super.init();
                ObjectServiceFactory factory = new
ObjectServiceFactory(getXFire().getTransportManager(),
                        null);                              
                Service service =
factory.create(EventDelegate.class,"event",null,null);
                getController().getServiceRegistry().register(service);
        }
}

I'm using myEclipse's web services explorer and calling the load method of
the EventDelegate.  The method successfully returns an event, but I get the
stack trace below regarding the MetaData class.  I see MetaData definded in
the wsdl and it appears to be correct.  

Any help would be GREATLY appreciated!

2007-03-09 10:46:58,124 [http-80-Processor25] ERROR
org.codehaus.xfire.service.binding.PostInvocationHandler -
java.lang.ClassCastException: com.mantech.nbis.model.MetaData
2007-03-09 10:46:58,124 [http-80-Processor25] ERROR
org.codehaus.xfire.handler.DefaultFaultHandler - Fault occurred!
java.lang.ClassCastException: com.mantech.nbis.model.MetaData
        at
org.codehaus.xfire.aegis.type.collection.MapType.writeObject(MapType.java:154)
        at
org.codehaus.xfire.aegis.type.collection.MapType.writeEntry(MapType.java:185)
        at
org.codehaus.xfire.aegis.type.collection.MapType.writeObject(MapType.java:163)
        at
org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:417)
        at
org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:417)
        at
org.codehaus.xfire.aegis.AegisBindingProvider.writeParameter(AegisBindingProvider.java:200)
        at
org.codehaus.xfire.service.binding.AbstractBinding.writeParameter(AbstractBinding.java:273)
        at
org.codehaus.xfire.service.binding.WrappedBinding.writeMessage(WrappedBinding.java:89)
        at
org.codehaus.xfire.soap.SoapSerializer.writeMessage(SoapSerializer.java:80)
        at
org.codehaus.xfire.transport.http.HttpChannel.writeWithoutAttachments(HttpChannel.java:56)
        at
org.codehaus.xfire.transport.http.XFireServletChannel.sendViaServlet(XFireServletChannel.java:87)
        at
org.codehaus.xfire.transport.http.XFireServletChannel.send(XFireServletChannel.java:44)
        at
org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:26)
        at
org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
        at
org.codehaus.xfire.service.binding.PostInvocationHandler.invoke(PostInvocationHandler.java:36)
        at
org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
        at
org.codehaus.xfire.transport.DefaultEndpoint.onReceive(DefaultEndpoint.java:64)
        at
org.codehaus.xfire.transport.AbstractChannel.receive(AbstractChannel.java:38)
        at
org.codehaus.xfire.transport.http.XFireServletController.invoke(XFireServletController.java:301)
        at
org.codehaus.xfire.transport.http.XFireServletController.doService(XFireServletController.java:130)
        at
org.codehaus.xfire.transport.http.XFireServlet.doPost(XFireServlet.java:116)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
        at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
        at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:535)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
        at 
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
        at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
        at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
        at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
        at java.lang.Thread.run(Thread.java:595)


-- 
View this message in context: 
http://www.nabble.com/Problems-web-service-enabling-an-Business-Object-tf3376429.html#a9396928
Sent from the XFire - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email

Reply via email to