7 Replies Latest reply on Feb 4, 2009 11:41 PM by njiang

    javax.mail.NoSuchProviderException: Unable to locate provider for protocol:

    fwatty

      Hi,

      I'm playing with Fuse 4.0 for the first time trying to deploy an osgi based camel-mail route.

      Deployment works fine, but at runtime I get the above error. Can't find the providers in the supplied geronimo specs either.

      Do I have to install another bundle or is this due to a buggy geronimo spec.

       

      Edited by: fwatty on Oct 19, 2008 11:22 AM

        • 1. Re: javax.mail.NoSuchProviderException: Unable to locate provider for protocol:
          anielson

          I am facing exactly the same problem.

          • 2. Re: javax.mail.NoSuchProviderException: Unable to locate provider for protocol:
            anielson

            Does anyone knows how to use the camel-mail in SMX 4?

            Are we forgetting some feature? Some OSGI trick or tip is available?

            • 3. Re: javax.mail.NoSuchProviderException: Unable to locate provider for protocol:
              davsclaus

              Hi

               

              Does the error report more? The mail providers for POP3, SMTP, IMAP etc. is implemented by SUN in a .jar.

               

              This is from maven

               

               

               

              I actually don't know if there is an bundle for this that can be installed in SMX.

              • 4. Re: javax.mail.NoSuchProviderException: Unable to locate provider for protocol:
                anielson

                The error reports this:

                 

                -


                17:57:23,428 | ERROR | Component@ceb8e2 | DeadLetterChannel                | rg.apache.camel.processor.Logger  188 | Failed delivery for exchangeId: ID-ecm-jorge/53518-1228247786887/0-0.

                 

                On delivery attempt: 0 caught: org.springframework.mail.MailSendException: Mail server connection failed; nested exception is javax.mail.NoSuchProviderException: Unable to locate provider for protocol: smtp

                 

                org.springframework.mail.MailSendException: Mail server connection failed; nested exception is javax.mail.NoSuchProviderException: Unable to locate provider for protocol: smtp

                 

                        at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:419)

                 

                        at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:342)

                 

                        at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:357)

                 

                        at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:346)

                 

                        at org.apache.camel.component.mail.MailProducer.process(MailProducer.java:46)

                 

                        at org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:43)

                 

                        at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:75)

                 

                        at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:63)

                 

                        at org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:174)

                 

                        at org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:96)

                 

                        at org.apache.camel.processor.Pipeline.process(Pipeline.java:101)

                 

                        at org.apache.camel.processor.Pipeline.process(Pipeline.java:85)

                 

                        at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:63)

                 

                        at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:47)

                 

                        at org.apache.camel.component.file.FileConsumer.pollFile(FileConsumer.java:153)

                 

                        at org.apache.camel.component.file.FileConsumer.pollFileOrDirectory(FileConsumer.java:89)

                 

                        at org.apache.camel.component.file.FileConsumer.pollFileOrDirectory(FileConsumer.java:99)

                 

                        at org.apache.camel.component.file.FileConsumer.poll(FileConsumer.java:65)

                 

                        at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:66)

                 

                        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)

                 

                        at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)

                 

                        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)

                 

                        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)

                 

                        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)

                 

                        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)

                 

                        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.mail.NoSuchProviderException: Unable to locate provider for protocol: smtp

                 

                        at javax.mail.Session.getProvider(Session.java:229)

                 

                        at javax.mail.Session.getTransport(Session.java:338)

                 

                        at org.springframework.mail.javamail.JavaMailSenderImpl.getTransport(JavaMailSenderImpl.java:434)

                 

                        at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:388)

                 

                        ... 27 more

                 

                 

                -


                 

                 

                How is it possible to use the camel-mail in SMX4?

                Do you have any idea?

                 

                B.R.

                • 5. Re: javax.mail.NoSuchProviderException: Unable to locate provider for protocol:
                  davsclaus

                  Hi

                   

                  I think you need to install the mail jars from SUN that has the smtp provider.

                   

                  See this page:

                  http://servicemix.apache.org/kernel/1-quick-start.html

                   

                  Where you can see examples how to install bundles into the SMX4 container.

                   

                  So what is missing is the SUN java mail 1.4 bundle.

                  • 6. Re: javax.mail.NoSuchProviderException: Unable to locate provider for protocol:
                    anielson

                    I have done what is writen here http://servicemix.apache.org/kernel/66-installing-additional-features.html in the "Adding additional maven repositories" topic and now it works.

                     

                    But I really don´t know why... Any extra docs about SMX features and how to install more?

                    • 7. Re: javax.mail.NoSuchProviderException: Unable to locate provider for protocol:
                      njiang

                      I think this issue was addressed by ESB-529

                      Now camel should work with gernonimo-javamail which is shipped with ServiceMix.