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,