After some investigations I checked out camel 1.4-SNAPSHOT from the trunk of your svn and build it . Then I replaced the .jar in my local repo but the error still remains...
John MIPIH wrote: > > Thanks a lot Gert. How can I get the patch and build new camel jars ? I > wanted to add the deprecated method by mysel but i can't download the > camel source distribution from the official website... (The requested URL > /dist/activemq/apache-camel/1.4.0/apache-camel-1.4.0-src.zip was not found > on this server. for every mirror) > > I tried mvn -X clean install but "camel-core:jar:1.3.0" appear 10 times, I > don't know how to change it. Here's my pom and i enclosed the log of mvn > -X ( http://www.nabble.com/file/p18086666/log.txt log.txt ) : > > <?xml version="1.0" encoding="UTF-8"?><project> > <parent> > <artifactId>parent</artifactId> > <groupId>fr.mm.pocsoa.esb</groupId> > <version>1.0</version> > </parent> > <modelVersion>4.0.0</modelVersion> > <groupId>fr.mm.pocsoa.esb</groupId> > <artifactId>camel-routage</artifactId> > <packaging>jbi-service-unit</packaging> > <name>SE : Camel</name> > <version>1.0</version> > <url>http://www.mipih.fr</url> > <build> > <defaultGoal>install</defaultGoal> > <plugins> > <plugin> > <artifactId>maven-compiler-plugin</artifactId> > <configuration> > <source>1.5</source> > <target>1.5</target> > </configuration> > </plugin> > <plugin> > <groupId>org.apache.servicemix.tooling</groupId> > <artifactId>jbi-maven-plugin</artifactId> > <version>${servicemix-version}</version> > <extensions>true</extensions> > </plugin> > <plugin> > <groupId>org.apache.camel</groupId> > <artifactId>camel-maven-plugin</artifactId> > <version>${camel-version}</version> > </plugin> > </plugins> > </build> > <repositories> > <repository> > <releases /> > <snapshots> > <enabled>false</enabled> > </snapshots> > <id>apache</id> > <name>Apache Repository</name> > <url>http://people.apache.org/repo/m2-ibiblio-rsync-repository</url> > </repository> > <repository> > <releases> > <enabled>false</enabled> > </releases> > <snapshots /> > <id>apache.snapshots</id> > <name>Apache Snapshots Repository</name> > <url>http://people.apache.org/repo/m2-snapshot-repository</url> > </repository> > </repositories> > <pluginRepositories> > <pluginRepository> > <releases /> > <snapshots> > <enabled>false</enabled> > </snapshots> > <id>apache</id> > <name>Apache Repository</name> > <url>http://people.apache.org/repo/m2-ibiblio-rsync-repository</url> > </pluginRepository> > <pluginRepository> > <releases> > <enabled>false</enabled> > </releases> > <snapshots /> > <id>apache.snapshots</id> > <name>Apache Snapshots Repository</name> > <url>http://people.apache.org/repo/m2-snapshot-repository</url> > </pluginRepository> > </pluginRepositories> > <dependencies> > <dependency> > <groupId>org.apache.servicemix</groupId> > <artifactId>servicemix-camel</artifactId> > <version>${servicemix-version}</version> > </dependency> > <dependency> > <groupId>org.apache.servicemix</groupId> > <artifactId>servicemix-core</artifactId> > <version>${servicemix-version}</version> > </dependency> > </dependencies> > <properties> > <servicemix-version>3.3-SNAPSHOT</servicemix-version> > <camel-version>1.4-SNAPSHOT</camel-version> > <componentName>servicemix-camel</componentName> > </properties> > </project> > > > > Gert Vanthienen wrote: >> >> L.S., >> >> I have just committed a fix for this problem to Camel -- if you have >> trouble finding the offending Camel 1.3 jar file, you can just rebuild >> Camel yourself locally and the 1.4-SNAPSHOT you'll end up with in your >> local repo will solve the issue for you. >> >> Regards, >> >> Gert >> >> Gert Vanthienen wrote: >>> L.S., >>> >>> With recent refactorings on Apache Camel, a method on the Endpoint >>> interface was renamed from getCamelContext() to getContext(). Looking >>> at the exception, it looks like you have some code that was compiled >>> with Camel 1.3 and you're now running it on Camel 1.4. Make sure you >>> have changed every single reference to Camel 1.3 with Camel 1.4 >>> SNAPSHOT -- just use mvn -X clean install jbi:servicemix to check out >>> classpaths and dependencies used. I was actually just creating a JIRA >>> issue to re-add the missing methods and mark them deprecated instead, >>> just to avoid this particular problem... >>> >>> Gert >>> >>> John MIPIH wrote: >>>> Thanks a lot for your quick answer, I am going nut with this issue. >>>> >>>> I changed my camel-context (logs are now before to:jbi...) and enabled >>>> logging on my CXF web service. The log shows that camel sends an >>>> empty soap >>>> enveloppe to my web service when content-based routing is activated. >>>> >>>> As you recommended I tried to use servicemix 3.3-SNAPSHOT and Camel >>>> 1.4-SNAPSHOT. I changed all my pom's to have >>>> <servicemix-version>3.3-SNAPSHOT</servicemix-version> >>>> <camel-version>1.4-SNAPSHOT</camel-version> >>>> >>>> I launch my SA using "mvn clean install jbi:servicemix", deploying is >>>> fine >>>> but when I send a message to camel I have : >>>> >>>> java.lang.NoSuchMethodError: >>>> org.apache.camel.Endpoint.getCamelContext()Lorg/apache/camel/CamelContext; >>>> >>>> at >>>> org.apache.servicemix.camel.CamelJbiEndpoint.handleActiveProviderExchange(CamelJbiEndpoint.java:100) >>>> >>>> >>>> at >>>> org.apache.servicemix.camel.CamelJbiEndpoint.process(CamelJbiEndpoint.java:74) >>>> >>>> >>>> at >>>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:582) >>>> >>>> >>>> at >>>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:533) >>>> >>>> >>>> at >>>> org.apache.servicemix.common.AsyncBaseLifeCycle.onMessageExchange(AsyncBaseLifeCycle.java:487) >>>> >>>> >>>> at >>>> org.apache.servicemix.common.SyncLifeCycleWrapper.onMessageExchange(SyncLifeCycleWrapper.java:60) >>>> >>>> >>>> at >>>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610) >>>> >>>> >>>> at >>>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172) >>>> >>>> >>>> at >>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:168) >>>> >>>> >>>> at >>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134) >>>> >>>> >>>> at >>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) >>>> >>>> >>>> at >>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) >>>> >>>> >>>> at java.lang.Thread.run(Thread.java:595) >>>> 2008-06-23 14:40:30,028 [btpool1-1 ] WARN >>>> jetty - /ProcessusAdmissionConsumer/ >>>> java.lang.IllegalStateException: Exchange not found >>>> at >>>> org.apache.servicemix.http.processors.ConsumerProcessor.process(ConsumerProcessor.java:190) >>>> >>>> >>>> at >>>> org.apache.servicemix.http.HttpBridgeServlet.doPost(HttpBridgeServlet.java:71) >>>> >>>> >>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) >>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) >>>> at >>>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) >>>> at >>>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362) >>>> at >>>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:722) >>>> at >>>> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206) >>>> >>>> >>>> at >>>> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) >>>> >>>> >>>> at >>>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139) >>>> at org.mortbay.jetty.Server.handle(Server.java:324) >>>> at >>>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505) >>>> at >>>> org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:374) >>>> at >>>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395) >>>> >>>> >>>> at >>>> org.mortbay.jetty.nio.SelectChannelConnector$RetryContinuation.run(SelectChannelConnector.java:506) >>>> >>>> >>>> at >>>> org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450) >>>> >>>> >>>> >>>> >>>> Any idea ? >>>> >>>> >>>> >>>> >>>> Gert Vanthienen wrote: >>>> >>>>> L.S., >>>>> >>>>> If you put the <to uri="log:..."> after the routing step to CXF in >>>>> your camel file, you implicitly create a pipeline that first sends >>>>> an in-out exchange to CXF and afterwards logs the out message from >>>>> the CXF service call, that's why you see the StaxSource at that >>>>> point. To see what Camel is sending to the endpoint, you'll need to >>>>> add a <to uri="log..."> before the jbi:endpoint. >>>>> Could you enable DEBUG logging to see what the MessageExchanges >>>>> going to/from your CXF endpoints look like? You probably want to >>>>> get the latest SNAPSHOT version of the servicemix-camel component in >>>>> ServiceMix as well because it has some fixes with regards to MEP >>>>> processing you're going to need for this scenario to work. >>>>> >>>>> Regards, >>>>> >>>>> Gert >>>>> >>>>> John MIPIH wrote: >>>>> >>>>>> Hello, >>>>>> >>>>>> Here is my camel config file : >>>>>> >>>>>> <camelContext >>>>>> xmlns="http://activemq.apache.org/camel/schema/spring"> >>>>>> <route> >>>>>> <from >>>>>> uri="jbi:endpoint:urn:fr:mipih:poc:soa:Routage:RouteVersAdmission"/> >>>>>> <to uri="log:Before-routing"/> >>>>>> <choice> >>>>>> <when> >>>>>> <xpath>.//prenom = 'John'</xpath> >>>>>> <to >>>>>> uri="jbi:endpoint:urn:fr:mipih:poc:soa:ProcessusAdmissionImplService:ProcessusAdmissionImplPort?mep=in-out"/> >>>>>> >>>>>> >>>>>> <to uri="log:Routage-vers-reference"/> >>>>>> </when> >>>>>> <otherwise> >>>>>> <to >>>>>> uri="jbi:endpoint:urn:fr:mipih:poc:soa:ProcessusAdmissionImplBisService:ProcessusAdmissionImplBisPort?mep=in-out"/> >>>>>> >>>>>> >>>>>> <to uri="log:Routage-vers-convergence"/> >>>>>> </otherwise> >>>>>> </choice> >>>>>> </route> >>>>>> </camelContext> >>>>>> >>>>>> >>>>>> When an incoming message comes I get in the console : >>>>>> 2008-06-23 11:27:07,892 [-camel-thread-1] INFO Avant-routage - >>>>>> Exchange[JbiMessage: >>>>>> [EMAIL PROTECTED]: >>>>>> >>>>>> {}}] >>>>>> 2008-06-23 11:27:08,282 [-camel-thread-1] INFO >>>>>> Routage-vers-convergence >>>>>> - >>>>>> Exchange[Message: [EMAIL PROTECTED] >>>>>> >>>>>> or >>>>>> >>>>>> 2008-06-23 11:27:16,048 [-camel-thread-4] INFO Avant-routage - >>>>>> Exchange[JbiMessage: >>>>>> [EMAIL PROTECTED]: >>>>>> >>>>>> {}}] >>>>>> 2008-06-23 11:27:16,079 [-camel-thread-4] INFO >>>>>> Routage-vers-reference - >>>>>> Exchange[Message: [EMAIL PROTECTED] >>>>>> >>>>>> according to the message content (so the routing works fine !) >>>>>> >>>>>> This is good but the target service (cxf webservice) receives a bad >>>>>> message >>>>>> (nullpointer exception). Why do the message change between my first >>>>>> log >>>>>> and >>>>>> the second from NormalizedMessage to StaxSource ? The problem is this >>>>>> change >>>>>> because when I change my camel context to : >>>>>> >>>>>> <camelContext xmlns="http://activemq.apache.org/camel/schema/spring"> >>>>>> <route> >>>>>> <from >>>>>> uri="jbi:endpoint:urn:fr:mipih:poc:soa:Routage:RouteVersAdmission"/> >>>>>> <to >>>>>> uri="jbi:endpoint:urn:fr:mipih:poc:soa:ProcessusAdmissionImplBisService:ProcessusAdmissionImplBisPort?mep=in-out"/> >>>>>> >>>>>> >>>>>> </route> >>>>>> </camelContext> >>>>>> >>>>>> everything works fine (but no routing...) >>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>>> ----- >>>>> --- >>>>> Gert Vanthienen >>>>> http://www.anova.be >>>>> >>>>> >>>> >>>> >>> >>> >> >> >> >> ----- >> --- >> Gert Vanthienen >> http://www.anova.be >> > > -- View this message in context: http://www.nabble.com/Content-Based-Routing-with-Camel-tp18065614p18093405.html Sent from the ServiceMix - User mailing list archive at Nabble.com.
