camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cmoulliard <cmoulli...@gmail.com>
Subject Re: Missing attachments
Date Wed, 21 Jan 2009 09:06:44 GMT

I see in your trace that your body object is null. So, nothing will be
consumed by the endpoint. Have you tried the following code (which is a test
case of camel-component) ?

-
camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailAttachmentTest.java

and consult the camel wiki page : http://camel.apache.org/mail.html

Charles


icucode wrote:
> 
> Hi Charles,
> 
> Unfortunately the change didn't make any difference. It seems that InOnly
> is the default since it doesn't change in the tracelog when removing it
> from the sendMessageInOnly method. I have to have missed something else,
> do I have to set header properties to tell the queue which kind of
> encoding, filetype that the queue should interpreter it as, or add more
> information to the DataHandler object?
> 
> [TraceInterceptor on consumer]
> ...Pattern:InOnly , Headers:{JMSXGroupID=null, JMSCorrelationID=null,
> JMSType=null, JMSExpiration=0,
> JMSMessageID=ID:Andreas-6527-1232525848004-0:9:1:1:1,
> JMSRedelivered=false, JMSDeliveryMode=2, JMSPriority=4, JMSReplyTo=null,
> JMSTimestamp=1232525848332, JMSDestination=queue://jobs} , BodyType:null
> , Body:null
> 
> 
> Kind Regards
> Andreas 
> 
> 
> cmoulliard wrote:
>> 
>> Hi,
>> 
>> Have you try to create your exchange without mentioning the
>> ExchangePattern like this ?
>> 
>> Exchange exchange = endpoint.createExchange();
>> 
>> 
>> 
>> icucode wrote:
>>> 
>>> Hi,
>>> 
>>> I'm trying to send attachments attached to the message that is sent to
>>> the queue but they seem to vanish on the way for some reason; because on
>>> the consumer side they no longer exist.
>>> 
>>> == producer ==
>>> public static void sendMessageInOnly(File attachment)
>>> {
>>>    Endpoint endpoint = camel.getEndpoint(address);
>>>    Exchange exchange = endpoint.createExchange(ExchangePattern.InOnly);
>>> 
>>>    exchange.getIn().addAttachment(attachment.getName(), new
>>> DataHandler(new FileDataSource(attachment)));
>>>    
>>>    Producer producer = endpoint.createProducer();
>>>    producer.start();
>>>    producer.process(exchange);
>>>    producer.stop();
>>> }
>>> Note: attachment is valid and everything seems ok on the producer side.
>>> 
>>> == Consumer ==
>>> public void process(Exchange exchange) throws Exception
>>> {
>>>    System.out.println("Recieved message...");
>>>    System.out.println("Message has attachments: " +
>>> exchange.getIn().hasAttachments());
>>> }
>>> Note: hasAttachments() returns false.
>>> 
>>> public class ConsumerRoute extends RouteBuilder
>>> {
>>>     @Override
>>>     public void configure() throws Exception
>>>     {
>>>         from("jms:queue:jobs").process(new JobConsumer());
>>>     }
>>> }
>>> 
>>> In the debug output from the consumer, attachments aren't even listed -
>>> only; Pattern, Headers, BodyType and Body. In the headers section there
>>> are only JMS specific properties. How can I fetch the attachments if
>>> getAttachments() isn't the right way?
>>> 
>>> 
>>> Thanks
>>> 
>> 
>> 
> 
> 


-----
Charles Moulliard
SOA Architect

My Blog :  http://cmoulliard.blogspot.com/ http://cmoulliard.blogspot.com/  
-- 
View this message in context: http://www.nabble.com/Missing-attachments-tp21541575s22882p21579357.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Mime
View raw message