I see this in OdeLifeCycle.java line 148

try {
            _ode.registerMapper((Mapper) mapperClass.newInstance());
        } catch (Throwable t) {
            String errmsg =
__msgs.msgOdeInitMapperInstantiationFailed(_ode._config.getMessageMapper());
            __log.error(errmsg);
            throw new JBIException(errmsg, t);
        }

it catches an exception there, in the debugger I saw that Throwable t was
actually a ClassCastException. I tried the class with a public no argument
constructor, the errors differ a little but it ends up being a
ClassCastException at the same point too. I know for sure that my class is a
Mapper because it inherits the ServiceMixMapper.



On 8/28/07, Alex Boisvert <[EMAIL PROTECTED]> wrote:
>
> Does your class have a public no-argument constructor?   Ode uses
> Class.newInstance() to create instances of Mapper classes.   Also, check
> your log file again, I think there must be a more specific error message
> just above/below the error statement you sent.
>
> alex
>
>
> On 8/28/07, Eduardo Burgos <[EMAIL PROTECTED]> wrote:
> >
> > Is there a way to change the default ServicemixMapper to another class
> of
> > your own? It seems that editing ode-jbi.properties wont do much.I edited
> > with my own class name and I got this at startup:
> >
> > ERROR - ComponentMBeanImpl             - Could not start component
> > javax.jbi.JBIException: Message mapper class "
> > org.test.ode.CustomOdeServicemixMapper" could not be instantiated!
> >         at org.apache.ode.jbi.OdeLifeCycle.initMappers(OdeLifeCycle.java
> > :153)
> >         at org.apache.ode.jbi.OdeLifeCycle.init(OdeLifeCycle.java:104)
> >         at org.apache.servicemix.jbi.framework.ComponentMBeanImpl.init(
> > ComponentMBeanImpl.java:200)
> >         at
> org.apache.servicemix.jbi.framework.ComponentMBeanImpl.doStart(
> > ComponentMBeanImpl.java:286)
> >         at org.apache.servicemix.jbi.framework.ComponentMBeanImpl.start(
> > ComponentMBeanImpl.java:215)
> >         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >         at sun.reflect.NativeMethodAccessorImpl.invoke(
> > NativeMethodAccessorImpl.java:39)
> >         at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> > DelegatingMethodAccessorImpl.java:25)
> >         at java.lang.reflect.Method.invoke(Method.java:585)
> >         at org.apache.commons.beanutils.MethodUtils.invokeMethod(
> > MethodUtils.java:216)
> >
> >
> > My class goes as follows:
> >
> > public class CustomOdeServicemixMapper extends ServiceMixMapper {
> >
> >
> >     @Override
> >     public void toNMS(NormalizedMessage nms, Message odeMsg,
> > javax.wsdl.Message msgdef, QName fault) throws MessagingException,
> > MessageTranslationException {
> >
> >         //Some code here
> >
> >         super.toNMS(nms, odeMsg, msgdef, fault);
> >     }
> > }
> >
> >
> >
> >
> > Any ideas?
> >
> > Thanks in advance,
> >
>

Reply via email to