Since the error was a NullPointerException for the text property I added it
in my servicemix.xml . Now I have this error

DEBUG - OutBinding                     - Exchange failed
org.springframework.mail.MailSendException: Could not send mails: null
javax.mail.internet.ParseException
        at javax.mail.internet.ContentType.<init>(ContentType.java:83)
        at
javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1249
)
        at
javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1001
)
        at
javax.mail.internet.MimeMultipart.updateHeaders(MimeMultipart.java:33
3)
        at
javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1255
)
        at
javax.mail.internet.MimeMessage.updateHeaders(MimeMessage.java:2012)
        at
javax.mail.internet.MimeMessage.saveChanges(MimeMessage.java:1980)
        at
org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailS
enderImpl.java:381)
        at
org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSen
derImpl.java:326)
        at
org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSen
derImpl.java:341)
        at
org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSen
derImpl.java:330)
        at
org.apache.servicemix.components.email.MimeMailSender.process(MimeMai
lSender.java:73)
        at
org.apache.servicemix.components.util.OutBinding.onMessageExchange(Ou
tBinding.java:49)
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
d(DeliveryChannelImpl.java:624)
        at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
w.java:169)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
ava:177)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
a:227)
        at
org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.ja
va:291)
        at
EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown So
urce)
        at java.lang.Thread.run(Thread.java:595)


mart wrote:
> 
> In MimeMailMarshaler we can find:      
> 
>   // get attachment from Normalize Message
>         Set attNames = normalizedMessage.getAttachmentNames();
>         Iterator itAttNames = attNames.iterator();
>         while (itAttNames.hasNext()) {
>             oneAttachmentName = (String)itAttNames.next();
>             DataSource oneAttchmentInputString =
> normalizedMessage.getAttachment(oneAttachmentName).getDataSource();
>             attachments.put(oneAttachmentName, oneAttchmentInputString);
>         }
> 
> So in theory it already can extract attachment from the normalized message
> and create a mime attachment in the mail message, can't it? May I have
> something wrong in my configuration?
> 
> 
> mart wrote:
>> 
>> For info, here is the error
>> 
>> org.springframework.mail.MailPreparationException: Could not prepare
>> mail: null;
>>  nested exception is java.lang.NullPointerException
>> Caused by:
>> java.lang.NullPointerException
>>         at
>> javax.mail.internet.MimeUtility.checkAscii(MimeUtility.java:1286)
>>         at
>> javax.mail.internet.MimeBodyPart.setText(MimeBodyPart.java:1023)
>>         at
>> javax.mail.internet.MimeBodyPart.setText(MimeBodyPart.java:718)
>>         at
>> javax.mail.internet.MimeBodyPart.setText(MimeBodyPart.java:702)
>>         at
>> org.apache.servicemix.components.email.MimeMailMarshaler.prepareMessa
>> ge(MimeMailMarshaler.java:210)
>> 
>> May someone help me out by giving me indication where to modify the
>> marshaler. 
>> 
>> thanks
>> 
>> 
>> 
>> gnodet wrote:
>>> 
>>> You may want to have a look at the MimeMailMarshaler and
>>> maybe extend it to suit your specific needs.
>>> 
>>> On 10/18/06, mart <[EMAIL PROTECTED]> wrote:
>>>>
>>>> FTP works well with VFS and binaryFileMarshaler. I extended the
>>>> marshaller to
>>>> add a property (String) I use to route thanks to Drools component. I
>>>> had to
>>>> add lots of libraries (drools, janino -had to find the good version
>>>> because
>>>> the class EvaluationBase was lacking in current versions-, and antr), I
>>>> do
>>>> not know what they are useful fo but I had NoClassDefException.
>>>>
>>>> Routing does work great.
>>>>
>>>> Now my problem is to find how to convey the message to mail component
>>>> since
>>>> it is binary(+custom), the default mail marshaler doesn't handle it.
>>>>
>>>>
>>>>
>>>> gnodet wrote:
>>>> >
>>>> > On 10/17/06, mart <[EMAIL PROTECTED]> wrote:
>>>> >>
>>>> >> Ok so if I understood well (sorry if I sound stupid):
>>>> >>
>>>> >> API: you use the client API to write new component.
>>>> >
>>>> > The Client API (http://servicemix.goopen.org/site/client-api.html)
>>>> > is usually only needed for specific use cases.  If you implement
>>>> > a lightweight component, you should inherit the ComponentSupport
>>>> > class which has some helper methods too.  You can also use
>>>> > the client API if you want by creating a ServiceMixClientFacade
>>>> > and pass the component's context to the constructor.
>>>> >    ServiceMixClient client = new
>>>> ServiceMixClientFacade(getContext());
>>>> >
>>>> >>
>>>> >> FTP: some bugs in there
>>>> >
>>>> > There may be some bugs, yes.  Some have already been reported, but
>>>> > if users have fixes for them, it would be great to submit patches.
>>>> >
>>>> >>
>>>> >> But I had no answer about these: http://servicemix.org/site/ftp.html
>>>> >>
>>>> >>
>>>> >> mart wrote:
>>>> >> >
>>>> >> > And when you write :
>>>> >> > "
>>>> >> >
>>>> >> > InOnly exchange = client.createInOnlyExchange();
>>>> >> > NormalizedMessage message = exchange.getInMessage();
>>>> >> >
>>>> >> > message.setContent(new StringSource("<hello>world!</hello>"));
>>>> >> >
>>>> >> > client.sendSync(exchange);
>>>> >> >
>>>> >> > will generate an XML text file on the FTP server. Here is an
>>>> example of
>>>> >> > the FTP configuration on the server side.
>>>> >> >
>>>> >> > [...]
>>>> >> >
>>>> >> > "
>>>> >> >
>>>> >> > I am really discovering servicemix.
>>>> >> >
>>>> >> >
>>>> >> >
>>>> >>
>>>> >> moraleslos wrote:
>>>> >> >
>>>> >> > Hi Mart,
>>>> >> >
>>>> >> > I've been working on the FTP component for the past week and I can
>>>> tell
>>>> >> > you my experiences.  When using the FTPPoller, I did not see any
>>>> >> downloads
>>>> >> > happening.  I can see the FTPPoller connecting appropriately but
>>>> not
>>>> >> > downloading.  It turns out that the FTP Server was stalling on the
>>>> >> > "client.completePendingCommand()" call before the input stream was
>>>> >> closed.
>>>> >> > I had to extend the FTPPoller class and override the processFile()
>>>> >> method
>>>> >> > to make this work.  As for the FTPPoller downloading again and
>>>> again,
>>>> >> > you'll need to cache the files that it pulls so that it doesn't
>>>> repeat
>>>> >> > itself.  I've put an issue on JIRA--
>>>> >> > http://issues.apache.org/activemq/browse/SM-704 -- for these.
>>>> >> Hopefully
>>>> >> > your problem is related to the above so that you can continue on.
>>>> >> >
>>>> >> > As for the Client API, it was built to make it easier to work with
>>>> the
>>>> >> JBI
>>>> >> > container (no need to implement those component lifecycle
>>>> interfaces
>>>> >> and
>>>> >> > such).  Check out this link:
>>>> >> > http://goopen.org/confluence/display/SM/POJO+support
>>>> >> >
>>>> >> > I've posted a couple of questions about this too:
>>>> >> >
>>>> >>
>>>> http://www.nabble.com/ServiceMixClient-configuration-help-tf2440104.html
>>>> >> >
>>>> >> > Turns out I just extended ComponentSupport since I realized that
>>>> when I
>>>> >> > implemented MessageExchangeListener, this was also tied to
>>>> ServiceMix's
>>>> >> > API... thus I figured just to extend ComponentSupport which made
>>>> my
>>>> >> client
>>>> >> > API easier to use.
>>>> >> >
>>>> >> > HTH,
>>>> >> >
>>>> >> > -los
>>>> >> >
>>>> >> >
>>>> >> > mart wrote:
>>>> >> >>
>>>> >> >> Thanks; You say that binary message are handled directly with FTP
>>>> BC.
>>>> >> I
>>>> >> >> put a 600k XLS file in my FTP folder and it just stops
>>>> downloading
>>>> >> after
>>>> >> >> 13,8%. It starts another download again and again every time it
>>>> polls
>>>> >> the
>>>> >> >> FTP. (Even if the download wouldn't stop, it is quite a problem
>>>> that
>>>> >> it
>>>> >> >> starts another one). I do not know if it is because it is binary
>>>> or
>>>> >> >> because of the size.
>>>> >> >>
>>>> >> >> Another question: what the client API might be used for? What if
>>>> I
>>>> >> want
>>>> >> >> to create a message, with a binary attachments, and info from
>>>> this
>>>> >> binary
>>>> >> >> that I could handle afterwards to route inside the bus?
>>>> >> >>
>>>> >> >> And when you write :
>>>> >> >> "
>>>> >> >>
>>>> >> >> InOnly exchange = client.createInOnlyExchange();
>>>> >> >> NormalizedMessage message = exchange.getInMessage();
>>>> >> >>
>>>> >> >> message.setContent(new StringSource("<hello>world!</hello>"));
>>>> >> >>
>>>> >> >> client.sendSync(exchange);
>>>> >> >>
>>>> >> >> will generate an XML text file on the FTP server. Here is an
>>>> example
>>>> >> of
>>>> >> >> the FTP configuration on the server side.
>>>> >> >>
>>>> >> >> [...]
>>>> >> >>
>>>> >> >> "
>>>> >> >>
>>>> >> >> what file/part this Java Code refers to?
>>>> >> >> Thank you
>>>> >> >>
>>>> >> >> Martin
>>>> >> >>
>>>> >> >> gnodet wrote:
>>>> >> >>>
>>>> >> >>> Binary data should be conveyed as attachments on the
>>>> >> >>> NormalizedMessage.  Such attachments are handled by
>>>> >> >>> BCs that support MIME requests (servicemix-http, servicemix-jms)
>>>> >> >>> or other BCs supporting direct binary contents (using a binary
>>>> file
>>>> >> >>> marshaler for file, ftp ...).
>>>> >> >>> See
>>>> >> >>>
>>>> >>
>>>> http://svn.apache.org/repos/asf/incubator/servicemix/trunk/servicemix-components/src/test/resources/org/apache/servicemix/components/file/binary-example.xml
>>>> >> >>> for an example.
>>>> >> >>>
>>>> >> >>> On 10/16/06, mart <[EMAIL PROTECTED]> wrote:
>>>> >> >>>>
>>>> >> >>>> Hello
>>>> >> >>>>
>>>> >> >>>> How and where to use the binaryfileMarshaler (or any marshaler
>>>> I
>>>> >> would
>>>> >> >>>> program if this one doesn't make sense?)?
>>>> >> >>>>
>>>> >> >>>> I want to transport binary files through the bus. On an
>>>> architecture
>>>> >> >>>> point
>>>> >> >>>> of view, what component/part do I need to code and what is the
>>>> >> >>>> appropriate
>>>> >> >>>> scenario to handle this? (like FTP => FTP or Mail(attachment)
>>>> flow)
>>>> >> ?
>>>> >> >>>>
>>>> >> >>>> Thanks for your answer
>>>> >> >>>> --
>>>> >> >>>> View this message in context:
>>>> >> >>>>
>>>> http://www.nabble.com/Binary-file-transport-tf2452407.html#a6834968
>>>> >> >>>> Sent from the ServiceMix - User mailing list archive at
>>>> Nabble.com.
>>>> >> >>>>
>>>> >> >>>>
>>>> >> >>>
>>>> >> >>>
>>>> >> >>> --
>>>> >> >>> Cheers,
>>>> >> >>> Guillaume Nodet
>>>> >> >>>
>>>> >> >>>
>>>> >> >>
>>>> >> >>
>>>> >> >
>>>> >> >
>>>> >>
>>>> >> --
>>>> >> View this message in context:
>>>> >> http://www.nabble.com/Binary-file-transport-tf2452407.html#a6850240
>>>> >> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>>> >>
>>>> >>
>>>> >
>>>> >
>>>> > --
>>>> > Cheers,
>>>> > Guillaume Nodet
>>>> >
>>>> >
>>>>
>>>> --
>>>> View this message in context:
>>>> http://www.nabble.com/Binary-file-transport-tf2452407.html#a6875706
>>>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>>>
>>>>
>>> 
>>> 
>>> -- 
>>> Cheers,
>>> Guillaume Nodet
>>> 
>>> 
>> 
>> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Binary-file-transport-tf2452407.html#a6877104
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to