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.

Reply via email to