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

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

    Frank Watty Newbie

      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

        • 2. Re: javax.mail.NoSuchProviderException: Unable to locate provider for protocol:
          Anderson Nielson Newbie

          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:
            Claus Ibsen Master

            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:
              Anderson Nielson Newbie

              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:
                Claus Ibsen Master

                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:
                  Anderson Nielson Newbie

                  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:
                    Willem Jiang Master

                    I think this issue was addressed by ESB-529

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