L.S.,

James Strachan has just committed a fix for this. If you rebuild ServiceMix from source (or wait for a new daily build), you should now be able to replace the wire tap in the example with a Camel route such as:

from("jbi:endpoint:urn:servicemix:tutorial:wiretap:endpoint")
       .convertBodyTo(DOMSource.class)
       .to("jbi:endpoint:urn:servicemix:tutorial:jms:myQueue",
"jbi:endpoint:urn:servicemix:tutorial:file:sender");

Regards,

Gert



depstei2 wrote:
I got the latest 10/12 snapshot, but the message is still getting sent to the
dead letter channel.  Since this is a pretty simple example, can you try it
yourself and post your code?


Gert Vanthienen wrote:
L.S.,


There is nothing wrong with your code at first glance. Could you try to deploy this with the latest ServiceMix 3.2 build -- it comes bundled with an Apache Camel JBI component so you don't have to copy any additional JAR files into the lib folder etc.?

Gert

depstei2 wrote:
I am using the same camel route you showed me:
        from("jbi:endpoint:urn:servicemix:tutorial:wiretap:endpoint")
        .to("jbi:endpoint:urn:servicemix:tutorial:jms:myQueue",
"jbi:endpoint:urn:servicemix:tutorial:file:sender"); and my jms endpoint xbean is:
<beans xmlns:jms="http://servicemix.apache.org/jms/1.0";
       xmlns:tut="urn:servicemix:tutorial"
       xmlns:amq="http://activemq.org/config/1.0";>
    <jms:endpoint service="tut:jms"
                  endpoint="myQueue"
role="provider" destinationStyle="queue"
                  jmsProviderDestinationName="queue/tutorial"
                  connectionFactory="#connectionFactory"/>
    <amq:connectionFactory id="connectionFactory"
brokerURL="tcp://localhost:61616" />
</beans>
I turned useJmx to false.

Is my setup ok? I am using the snapshots of camel and servicemix from
10/9. I copied the apache-camel-1.1-SNAPSHOT.jar into the servicemix lib folder
as
well as the spring-2.0.6.jar that came with the camel snapshot.




Gert Vanthienen wrote:
L.S.,

Can you post your Camel route once again? Somehow, an exchange is being sent to an unnamed service/interface from a dead letter channel definition...

Gert

depstei2 wrote:
Ha  I did lose that line.  I put the target service and endpoint back
in
the
poller definition and got it to deploy! Now when I put a file message
in
my
polling directory I get this error:

ERROR - DeadLetterChannel              - On delivery attempt: 0 caught:
org.apac
he.servicemix.camel.JbiException:
javax.jbi.messaging.MessagingException:
Could
not find route for exchange: InOnly[
  id: ID:128.8.109.51-1158bb5c64f-5:6
  status: Active
  role: provider
in: <?xml version="1.0" encoding="UTF-8"?> HELLO ] for service: null and interface: null
org.apache.servicemix.camel.JbiException:
javax.jbi.messaging.MessagingException
: Could not find route for exchange: InOnly[
  id: ID:128.8.109.51-1158bb5c64f-5:6
  status: Active
  role: provider
in: <?xml version="1.0" encoding="UTF-8"?> HELLO ] for service: null and interface: null
        at
org.apache.servicemix.camel.ToJbiProcessor.process(ToJbiProcessor.java:91)
        at
org.apache.servicemix.camel.JbiEndpoint$1.process(JbiEndpoint.java:46)
        at
org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsynProcessorBridge.process(AsyncProcessorTypeConverter.java:44)
        at
org.apache.camel.processor.SendProcessor.process(SendProcessor.java:73)
        at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:136)
        at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:86)
        at
org.apache.camel.processor.Pipeline.process(Pipeline.java:103)
        at
org.apache.camel.processor.Pipeline.process(Pipeline.java:87)
        at
org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:40)
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:44)
        at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:68)
        at
org.apache.servicemix.camel.CamelJbiEndpoint.processInOnly(CamelJbiEndpoint.java:64)
        at
org.apache.servicemix.common.endpoints.ProviderEndpoint.process(ProviderEndpoint.java:100)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
        at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
        at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:170)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
        at java.lang.Thread.run(Thread.java:619)
Caused by: javax.jbi.messaging.MessagingException: Could not find route
for
exchange: InOnly[
  id: ID:128.8.109.51-1158bb5c64f-5:6
  status: Active
  role: provider
in: <?xml version="1.0" encoding="UTF-8"?> HELLO ] for service: null and interface: null
        at
org.apache.servicemix.jbi.nmr.DefaultBroker.sendExchangePacket(DefaultBroker.java:297)
        at
org.apache.servicemix.jbi.security.SecuredBroker.sendExchangePacket(SecuredBroker.java:81)
        at
org.apache.servicemix.jbi.container.JBIContainer.sendExchange(JBIContainer.java:829)
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.doSend(DeliveryChannelImpl.java:395)
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.sendSync(DeliveryChannelImpl.java:470)
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.sendSync(DeliveryChannelImpl.java:442)
        at
org.apache.servicemix.camel.ToJbiProcessor.process(ToJbiProcessor.java:76)
        ... 22 more


Is this a problem with my JMS setup?


Gert Vanthienen wrote:
L.S.,

The error indicates that you haven't specified targetInterface/targetService/targetUri on a <file:poller/> endpoint definition in the file SU. It was in your original post though... Did you perhaps remove it in an attempt to solve the other problems?


Gert
depstei2 wrote:
Setting the useJmx to false fixed the error where it said that the
":"
character was invalid,
but I am still getting this:
<task-result>FAILED</task-result>
<message-type>ERROR</message-type>
<task-status-msg>
<msg-loc-info>
<loc-token/>
<loc-message>Unable to parse result string</loc-message>
</msg-loc-info>
</task-status-msg>
<exception-info>
<nesting-level>1</nesting-level>
<loc-token/>
<loc-message>targetInterface, targetService or targetUri should be
specified</lo
c-message>
<stack-trace><![CDATA[javax.jbi.management.DeploymentException:
targetInterface, targetService or targetUri should be specified
        at
org.apache.servicemix.common.endpoints.ConsumerEndpoint.validate(ConsumerEndpoint.java:176)
        at
org.apache.servicemix.file.FilePollerEndpoint.validate(FilePollerEndpoint.java:82)
        at
org.apache.servicemix.common.AbstractDeployer.validate(AbstractDeployer.java:58)
        at
org.apache.servicemix.common.xbean.BaseXBeanDeployer.validate(BaseXBeanDeployer.java:55)
        at
org.apache.servicemix.common.xbean.AbstractXBeanDeployer.deploy(AbstractXBeanDeployer.java:96)
        at
org.apache.servicemix.common.BaseServiceUnitManager.doDeploy(BaseServiceUnitManager.java:88)
        at
org.apache.servicemix.common.BaseServiceUnitManager.deploy(BaseServiceUnitManager.java:69)
        at
org.apache.servicemix.jbi.framework.DeploymentService.deployServiceAssembly(DeploymentService.java:508)
        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateServiceAssembly(AutoDeploymentService.java:350)
        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(AutoDeploymentService.java:253)
        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirectory(AutoDeploymentService.java:647)
        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800(AutoDeploymentService.java:60)
        at
org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(AutoDeploymentService.java:611)
        at java.util.TimerThread.mainLoop(Timer.java:512)
        at java.util.TimerThread.run(Timer.java:462)
]]></stack-trace>
</exception-info>
</task-result-details>
</component-task-result-details>
</component-task-result>
</jbi-task-result>
</jbi-task>

My camel su contains the router class and the camel-context.xml.



James.Strachan wrote:
On 10/10/2007, depstei2 <[EMAIL PROTECTED]> wrote:
Hi
Thank you for your help, I created the camel context and a myRouter
class
like you showed me, but I am getting this error:
WARN  - InstrumentationProcessor       - Could not register Route
MBean
javax.management.MalformedObjectNameException: Could not create
ObjectName
from:
org.apache.camel:context=DF224MD1/camelContext,group=routeBuilder,routeType=routeType,route=[endpoint]urn:servicemix:tutorial:wiretap:endpoint,name=route.
Reason: javax.management.MalformedObjectNameException: Invalid
character
':'
in value part of property
That looks like the JMX stuff not having unique mbean names; you
might
wanna disable JMX for now on the camel context...

<camelContext useJmx="false"> ...


And then some errors like these:
<loc-message>targetInterface, targetService or targetUri should be
specified</loc-message>
<stack-trace><![CDATA[javax.jbi.management.DeploymentException:
targetInterface,
 targetService or targetUri should be specified

I am using the 3.2 snapshots of service mix and camel from 10/9/07
Not sure on this one - got a full stack trace?

--
James
-------
http://macstrac.blogspot.com/

Open Source SOA
http://open.iona.com





Reply via email to