Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Not A Problem
-
2.15.2
-
None
-
Unknown
Description
i use camel with spring-ws. i configure routes:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"> <camelContext id="someID" xmlns="http://camel.apache.org/schema/spring"> <endpoint id="externalRequest" uri="spring-ws\:rootqname\:{http\://somehost.com/xsd/some-xsd}method?endpointMapping\=\endpointMapping&messageFactory\=\#soap12MessageFactory" /> <endpoint id="internalRequest" uri="spring-ws\:http://localhost:8080/someMock?messageSender\=\#someMessageSender" /> <route id="fromExternal"> <from ref="externalRequest" /> <to uri="direct:toInternalSystem" /> </route> <route id="toInternal" trace = "true"> <from uri="direct:toInternalSystem" /> <log message="Received ${body}" /> <to ref="internalRequest" pattern="InOut" /> </route> </camelContext> <bean id="soap12MessageFactory" class="org.springframework.ws.soap.saaj.SaajSoapMessageFactory"> <property name="soapVersion"> <util:constant static-field="org.springframework.ws.soap.SoapVersion.SOAP_12"/> </property> </bean> </beans>
and during startup i get error:
SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener org.apache.camel.RuntimeCamelException: org.apache.camel.FailedToCreateRouteException: Failed to create route fromAxToEsb: Route(fromAxToEsb)[[From[ref:returnsAdviceRequestAx]] -> [To... because of org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'returnsAdviceRequestAx': FactoryBean threw exception on object creation; nested exception is org.apache.camel.ResolveEndpointFailedException: Failed to resolve endpoint: spring-ws://rootqname:%7Bhttp://lamoda.ru/xsd/goods-movement%7Dadvice?endpointMapping=endpointMapping&messageFactory=%23soap12MessageFactory due to: Failed to resolve endpoint: spring-ws://rootqname:(http://lamoda.ru/xsd/goods-movement)advice?endpointMapping=endpointMapping&messageFactory=%23soap12MessageFactory due to: There are 1 parameters that couldn't be set on the endpoint. Check the uri if the parameters are spelt correctly and that they are properties of the endpoint. Unknown parameters=[{messageFactory=#soap12MessageFactory}] at org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1619) at org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:123) at org.apache.camel.spring.CamelContextFactoryBean.onApplicationEvent(CamelContextFactoryBean.java:332) at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:151) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:128) at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:331) at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:773) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:483) at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:410) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4994) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5492) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:649) at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1762) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:618) at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:565) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1487) at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:97) at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1328) at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1420) at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:848) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322) at sun.rmi.transport.Transport$1.run(Transport.java:177) at sun.rmi.transport.Transport$1.run(Transport.java:174) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:173) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: org.apache.camel.FailedToCreateRouteException: Failed to create route fromAxToEsb: Route(fromAxToEsb)[[From[ref:returnsAdviceRequestAx]] -> [To... because of org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'returnsAdviceRequestAx': FactoryBean threw exception on object creation; nested exception is org.apache.camel.ResolveEndpointFailedException: Failed to resolve endpoint: spring-ws://rootqname:%7Bhttp://lamoda.ru/xsd/goods-movement%7Dadvice?endpointMapping=endpointMapping&messageFactory=%23soap12MessageFactory due to: Failed to resolve endpoint: spring-ws://rootqname:(http://lamoda.ru/xsd/goods-movement)advice?endpointMapping=endpointMapping&messageFactory=%23soap12MessageFactory due to: There are 1 parameters that couldn't be set on the endpoint. Check the uri if the parameters are spelt correctly and that they are properties of the endpoint. Unknown parameters=[{messageFactory=#soap12MessageFactory}] at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:190) at org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:841) at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:2895) at org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:2618) at org.apache.camel.impl.DefaultCamelContext.access$000(DefaultCamelContext.java:167) at org.apache.camel.impl.DefaultCamelContext$2.call(DefaultCamelContext.java:2467) at org.apache.camel.impl.DefaultCamelContext$2.call(DefaultCamelContext.java:2463) at org.apache.camel.impl.DefaultCamelContext.doWithDefinedClassLoader(DefaultCamelContext.java:2486) at org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:2463) at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61) at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:2432) at org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:255) at org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:121) ... 52 more Caused by: org.apache.camel.RuntimeCamelException: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'returnsAdviceRequestAx': FactoryBean threw exception on object creation; nested exception is org.apache.camel.ResolveEndpointFailedException: Failed to resolve endpoint: spring-ws://rootqname:%7Bhttp://lamoda.ru/xsd/goods-movement%7Dadvice?endpointMapping=endpointMapping&messageFactory=%23soap12MessageFactory due to: Failed to resolve endpoint: spring-ws://rootqname:(http://lamoda.ru/xsd/goods-movement)advice?endpointMapping=endpointMapping&messageFactory=%23soap12MessageFactory due to: There are 1 parameters that couldn't be set on the endpoint. Check the uri if the parameters are spelt correctly and that they are properties of the endpoint. Unknown parameters=[{messageFactory=#soap12MessageFactory}] at org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1619) at org.apache.camel.impl.PropertyPlaceholderDelegateRegistry.lookupByNameAndType(PropertyPlaceholderDelegateRegistry.java:65) at org.apache.camel.impl.DefaultRouteContext.lookup(DefaultRouteContext.java:142) at org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:119) at org.apache.camel.model.FromDefinition.resolveEndpoint(FromDefinition.java:70) at org.apache.camel.impl.DefaultRouteContext.getEndpoint(DefaultRouteContext.java:89) at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:1008) at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:185) ... 64 more Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'returnsAdviceRequestAx': FactoryBean threw exception on object creation; nested exception is org.apache.camel.ResolveEndpointFailedException: Failed to resolve endpoint: spring-ws://rootqname:%7Bhttp://lamoda.ru/xsd/goods-movement%7Dadvice?endpointMapping=endpointMapping&messageFactory=%23soap12MessageFactory due to: Failed to resolve endpoint: spring-ws://rootqname:(http://lamoda.ru/xsd/goods-movement)advice?endpointMapping=endpointMapping&messageFactory=%23soap12MessageFactory due to: There are 1 parameters that couldn't be set on the endpoint. Check the uri if the parameters are spelt correctly and that they are properties of the endpoint. Unknown parameters=[{messageFactory=#soap12MessageFactory}] at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:175) at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:103) at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1517) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:251) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:962) at org.apache.camel.spring.spi.ApplicationContextRegistry.lookupByNameAndType(ApplicationContextRegistry.java:47) at org.apache.camel.impl.PropertyPlaceholderDelegateRegistry.lookupByNameAndType(PropertyPlaceholderDelegateRegistry.java:63) ... 70 more Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to resolve endpoint: spring-ws://rootqname:%7Bhttp://lamoda.ru/xsd/goods-movement%7Dadvice?endpointMapping=endpointMapping&messageFactory=%23soap12MessageFactory due to: Failed to resolve endpoint: spring-ws://rootqname:(http://lamoda.ru/xsd/goods-movement)advice?endpointMapping=endpointMapping&messageFactory=%23soap12MessageFactory due to: There are 1 parameters that couldn't be set on the endpoint. Check the uri if the parameters are spelt correctly and that they are properties of the endpoint. Unknown parameters=[{messageFactory=#soap12MessageFactory}] at org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:578) at org.apache.camel.core.xml.AbstractCamelEndpointFactoryBean.getObject(AbstractCamelEndpointFactoryBean.java:55) at org.apache.camel.spring.CamelEndpointFactoryBean.getObject(CamelEndpointFactoryBean.java:55) at org.apache.camel.spring.CamelEndpointFactoryBean.getObject(CamelEndpointFactoryBean.java:38) at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:168) ... 77 more Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to resolve endpoint: spring-ws://rootqname:(http://lamoda.ru/xsd/goods-movement)advice?endpointMapping=endpointMapping&messageFactory=%23soap12MessageFactory due to: There are 1 parameters that couldn't be set on the endpoint. Check the uri if the parameters are spelt correctly and that they are properties of the endpoint. Unknown parameters=[{messageFactory=#soap12MessageFactory}] at org.apache.camel.impl.DefaultComponent.validateParameters(DefaultComponent.java:183) at org.apache.camel.impl.DefaultComponent.createEndpoint(DefaultComponent.java:128) at org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:558) ... 81 more
As i see org.apache.camel.component.spring.ws.SpringWebserviceConfiguration does not have messageFactory property
but in documentation (http://camel.apache.org/spring-web-services.html)
i read
messageFactory --- Option to provide a custom WebServiceMessageFactory. For example when you want Apache Axiom to handle web service messages instead of SAAJ