Hi

Is there a Action header at all?

You can use the tracer to look?
http://camel.apache.org/tracer

I suspect this is the problem.


On Thu, Oct 8, 2009 at 12:49 PM, titexe <abdellatifbouch...@eurofins.com> wrote:
>
> Thank you for your reply,
>
> now I get no errors for CSV files.
>
> cons by my filter does not work with the simple language, it puts all files
> received in the same directory
> <to uri="file:///c:/CAMEL/IN/AAE"/>
>
> below my configuration:
>
> <route errorHandlerRef="myDeadLetterChannel">
>        <from uri="activemq:queue:AX.IN"/>
>        <choice>
>
>                        <when>
>                                <simple>${in.header.Action} == 'AAE'</simple>
> <to uri="file:///c:/CAMEL/IN/AAE"/>
>                        </when>
>                        <when>
>                                <simple>${in.header.Action} == 'PCA'</simple>
> <to uri="file:///c:/CAMEL/IN/PCA"/>
>                        </when>
>
>                <otherwise>
>        <to uri="activemq:queue:FilterError"/>
>                </otherwise>
>
>          </choice>
> </route>
>
> Thank you again for your help.
>
>
> Claus Ibsen-2 wrote:
>>
>> On Thu, Oct 8, 2009 at 11:22 AM, titexe <abdellatifbouch...@eurofins.com>
>> wrote:
>>>
>>>
>>> my incoming queue, receives messages of bytes type.
>>>
>>> the message content in bytes may be an XML or CSV or PDF file that I
>>> converted a file in the end.
>>>
>>> In the header of the message,there's on properties(Action), that allows
>>> me
>>> to place this file to the proper directory.
>>>
>>
>> Ah are you saying its a JMS property that has this value? If so you
>> can route without xpath using the header predicate instead
>> <xpath> $ action = 'AAE' </ xpath>
>>
>> Could then be
>> <simple>${header.action} == 'AAE' </header>
>>
>> Using the simple language to test this
>> http://camel.apache.org/simple.html
>>
>>
>>
>>
>>> From where I put <xpath> $ action = 'AAE' </ xpath> <to
>>> uri="file:///c:/CSV/AAE"/>
>>>
>>> Thank you for helping me find a good solution to my problem
>>>
>>> Thank you again for your help
>>>
>>>
>>> Claus Ibsen-2 wrote:
>>>>
>>>> Hi
>>>>
>>>> Why do you have mixed message on that JMS queue?
>>>>
>>>> Can you not have 1 queue for XML files
>>>> And another queue for CSV files?
>>>>
>>>> If not I suggest to use 3 routes
>>>>
>>>> 1st route will consume from that JMS queue and check the message
>>>> content if its XML or CSV.
>>>> And then route to either A or B depending on that
>>>>
>>>> 2nd route = A which is the XML route where you can use xpath
>>>>
>>>> 3rd route = B which is the CSV route where you use something else than
>>>> xpath. For example a java bean to check the action or what you would
>>>> like to do with the CSV file.
>>>>
>>>>
>>>> On Thu, Oct 8, 2009 at 10:48 AM, titexe
>>>> <abdellatifbouch...@eurofins.com>
>>>> wrote:
>>>>>
>>>>> Firstly, thank you for your reply,
>>>>>
>>>>> Action is a field that exists in the header of the message (Message
>>>>> proportions), normally xpath ($ action = 'AAE') should not parse the
>>>>> message
>>>>> body.
>>>>>
>>>>> if not, it is possible to use another command that allows me to filter
>>>>> the
>>>>> fields in the header of the message without parsing the message body?
>>>>> and
>>>>> it
>>>>> is possible to use it in my case <choice> of my route?
>>>>>
>>>>> Thank you in advance
>>>>>
>>>>>
>>>>> Claus Ibsen-2 wrote:
>>>>>>
>>>>>> Hi
>>>>>>
>>>>>> You are using XPath expressions
>>>>>> <xpath> $ action = 'AAE' </ xpath>
>>>>>>
>>>>>> And they *require* the payload to be XML.
>>>>>> So you cannot use XPath with CSV.
>>>>>>
>>>>>>
>>>>>> On Wed, Oct 7, 2009 at 10:59 AM, titexe
>>>>>> <abdellatifbouch...@eurofins.com>
>>>>>> wrote:
>>>>>>>
>>>>>>> For information
>>>>>>>
>>>>>>> Version Camel = Camel V1.6.1.2
>>>>>>> Version Activemq = Fuse message broker 5.3.0.3
>>>>>>> Version Java = V1.6.0_16
>>>>>>>
>>>>>>>
>>>>>>> titexe wrote:
>>>>>>>>
>>>>>>>> Hello,
>>>>>>>>
>>>>>>>> Here is the description of my route camel : I get a message type
>>>>>>>> Bytes
>>>>>>>> in
>>>>>>>> my queue, I transferred this message to another broker instance in
>>>>>>>> another
>>>>>>>> machine.
>>>>>>>>
>>>>>>>> was receiving this message I transformed this message to CSV or XML
>>>>>>>> file.
>>>>>>>>
>>>>>>>> my problem is that my route works very well for XML files and not
>>>>>>>> for
>>>>>>>> CSV
>>>>>>>> files.
>>>>>>>>
>>>>>>>> Here is my setup:
>>>>>>>>
>>>>>>>> <route errorHandlerRef="myDeadLetterChannel">
>>>>>>>> <from uri="activemq:queue:IN"/>
>>>>>>>> <choice>
>>>>>>>> <when>
>>>>>>>> <xpath> $ action = 'AAE' </ xpath>
>>>>>>>> <t uri="file:///c:/IN/AAE/"/>
>>>>>>>> <setBody>
>>>>>>>> <simple> UPDATE SET CAMEL CamelDate = CURRENT_TIMESTAMP WHERE
>>>>>>>> message
>>>>>>>> =
>>>>>>>> '$
>>>>>>>> (in.header.MessageId)' </ simple>
>>>>>>>> </ setBody>
>>>>>>>> <t uri="jdbc:testdb"/>
>>>>>>>>                  </ when>
>>>>>>>> <when>
>>>>>>>> <xpath> $ action = 'FAE' </ xpath>
>>>>>>>> <t uri="file:///c:/IN/FAE/"/>
>>>>>>>> <setBody>
>>>>>>>> <simple> UPDATE SET CAMEL CamelDate = CURRENT_TIMESTAMP WHERE
>>>>>>>> message
>>>>>>>> =
>>>>>>>> '$
>>>>>>>> (in.header.MessageId)' </ simple>
>>>>>>>> </ setBody>
>>>>>>>> <t uri="jdbc:testdb"/>
>>>>>>>>                  </ when>
>>>>>>>>
>>>>>>>>                  <otherwise>
>>>>>>>>                    <t uri="activemq:queue:FilterError"/>
>>>>>>>>                  </ otherwise>
>>>>>>>>
>>>>>>>>             </ choice>
>>>>>>>> </ route>
>>>>>>>>
>>>>>>>>
>>>>>>>> Here is the error that I receive when the transformationfor CSV
>>>>>>>> file.
>>>>>>>>
>>>>>>>>
>>>>>>>> WARN EndpointMessageListener - Endpoint [ActiveMQ: tail: IN]
>>>>>>>> consumer
>>>>>>>> caught an exception while processing JMS message:
>>>>>>>> ActiveMQBytesMessage
>>>>>>>> CommandID = (10, responseRequired = false, messageId = ID:
>>>>>>>> DCFR-4099-1254861846625-3: 0:1:1:1, originalDestination = null,
>>>>>>>> originalTransactionId = null,
>>>>>>>>   producerId = ID: DCFR-4099-1254861846625-2: 0:1:1, destination =
>>>>>>>> queue:
>>>>>>>> / / IN, transactionId = null, expiration = 0, timestamp =
>>>>>>>> 1254862039687,
>>>>>>>> arrived
>>>>>>>> l = 0, brokerInTime = 1254879861750, brokerOutTime = 1254879861765,
>>>>>>>> CorrelationId = null, ReplyTo = null, persistent = true, type =
>>>>>>>> null,
>>>>>>>> priority = 4
>>>>>>>> , GroupID = null, groupSequence = 0, targetConsumerId = null,
>>>>>>>> compressed
>>>>>>>> =
>>>>>>>> false, userID = null, content =
>>>>>>>> org.apache.activemq.util.ByteSequence
>>>>>>>> @
>>>>>>>> 6baf2
>>>>>>>> 4 marshalledProperties = org.apache.activemq.util.ByteSequence @
>>>>>>>> 1b7a553,
>>>>>>>> Datastructures = null, redeliveryCounter = 0, size = 2597,
>>>>>>>> properties
>>>>>>>> =
>>>>>>>> (Sourc
>>>>>>>> eEndpoint = null, org_apache_camel_file_name = EUANNA_PCA_20090901
>>>>>>>> (50e71be4-B408-48b3-9048-4e68faf6cbd3). csv DestinationEndpoint =
>>>>>>>> null,
>>>>>>>> MessageId = (50e71be
>>>>>>>> 4-B408-48b3-9048-4e68faf6cbd3), Action = PCA PartnerCode = EUANNA,
>>>>>>>> SourceEndpointUser = null, RequestMessageId = null),
>>>>>>>> readOnlyProperties
>>>>>>>> =
>>>>>>>> true, readOnlyBo
>>>>>>>> dy = true, droppable = false) (ActiveMQBytesMessage = null bytesOut,
>>>>>>>> dataOut = null, @ DATAIN = java.io.DataInputStream 1d314cc)
>>>>>>>> org.apache.camel.RuntimeCamelException:
>>>>>>>> org.xml.sax.SAXParseException:
>>>>>>>> Content is not allowed in prolog.
>>>>>>>>          at org.apache.camel.util.ObjectHelper.invokeMethod
>>>>>>>> (ObjectHelper.java: 567)
>>>>>>>>          at
>>>>>>>> org.apache.camel.impl.converter.InstanceMethodTypeConverter.convertTo
>>>>>>>> (InstanceMethodTypeConverter.java: 57)
>>>>>>>>          at
>>>>>>>> org.apache.camel.impl.converter.DefaultTypeConverter.doConvertTo
>>>>>>>> (DefaultTypeConverter.java: 119)
>>>>>>>>          at
>>>>>>>> org.apache.camel.impl.converter.DefaultTypeConverter.convertTo
>>>>>>>> (DefaultTypeConverter.java: 90)
>>>>>>>>          at org.apache.camel.impl.MessageSupport.getBody
>>>>>>>> (MessageSupport.java: 79)
>>>>>>>>          at org.apache.camel.impl.MessageSupport.getBody
>>>>>>>> (MessageSupport.java: 52)
>>>>>>>>          at org.apache.camel.builder.xml.XPathBuilder.getDocument
>>>>>>>> (XPathBuilder.java: 536)
>>>>>>>>          at org.apache.camel.builder.xml.XPathBuilder.evaluateAs
>>>>>>>> (XPathBuilder.java: 428)
>>>>>>>>          at org.apache.camel.builder.xml.XPathBuilder.matches
>>>>>>>> (XPathBuilder.java: 106)
>>>>>>>>          at org.apache.camel.builder.xml.XPathBuilder.matches
>>>>>>>> (XPathBuilder.java: 65)
>>>>>>>>          at org.apache.camel.processor.ChoiceProcessor.process
>>>>>>>> (ChoiceProcessor.java: 47)
>>>>>>>>          at
>>>>>>>> org.apache.camel.management.InstrumentationProcessor.process
>>>>>>>> (InstrumentationProcessor.java: 80)
>>>>>>>>
>>>>>>>> Thank you for helping me resolve this problem,
>>>>>>>>
>>>>>>>> Thank you in advance,
>>>>>>>>
>>>>>>>> best regards,
>>>>>>>>
>>>>>>>> titexe
>>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> View this message in context:
>>>>>>> http://www.nabble.com/Camel-%3A-Error-Message-to-CSV-file-tp25781902p25782958.html
>>>>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Claus Ibsen
>>>>>> Apache Camel Committer
>>>>>>
>>>>>> Open Source Integration: http://fusesource.com
>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>> View this message in context:
>>>>> http://www.nabble.com/Camel-%3A-Error-Message-to-CSV-file-tp25781902p25800470.html
>>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Claus Ibsen
>>>> Apache Camel Committer
>>>>
>>>> Open Source Integration: http://fusesource.com
>>>> Blog: http://davsclaus.blogspot.com/
>>>> Twitter: http://twitter.com/davsclaus
>>>>
>>>>
>>>
>>> --
>>> View this message in context:
>>> http://www.nabble.com/Camel-%3A-Error-Message-to-CSV-file-tp25781902p25800861.html
>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>
>>>
>>
>>
>>
>> --
>> Claus Ibsen
>> Apache Camel Committer
>>
>> Open Source Integration: http://fusesource.com
>> Blog: http://davsclaus.blogspot.com/
>> Twitter: http://twitter.com/davsclaus
>>
>>
>
> --
> View this message in context: 
> http://www.nabble.com/Camel-%3A-Error-Message-to-CSV-file-tp25781902p25801802.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>
>



-- 
Claus Ibsen
Apache Camel Committer

Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus

Reply via email to