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,
>