Michael C. wrote:
Thank  you for your replies, they are greatly appreciated.  I would like to
step back for a moment and be sure i understand the big picture.

When our team first changed over from WSAD to MyEclipse and decided to use
Geronimo 1.0 as our local app server, we ran into this same email problem. I found that there were some email bugs in the Geronimo 1.0 version, and
that you had to use the geronimo-mail.jar and the
geronimo-javamail-transport.jar files, and configure geronimo thru a GBEAN
to use these jars to fix the email issue.  Maybe already, my understanding
was incorrect but this did fix the issue.

We just upgraded to geronimo 1.1.1 and re-introduced the same email issue. I have read where this email issue was fixed with 1.1.1. But without any
changes, we still throw errors.  When i deployed the new email plan(in my
earlier threads), we still throw errors.  So i have a couple questions...

Since our application code uses the javax.mail.* packages, it would be best
to configure geronimo to use these packages for email.  To be honest, if
this is fixed with 1.1.1, then why are there still geronimo version email
packages in the new install?

Our intent would certainly be to use the mail packages from Sun since this
is the .jar file used in our app and our WebSphere production server.  Is it
an option to configure Geronimo to use this mail.jar file and if so, how do
we go about doing it?
Geronimo comes with its own implementation of the javax.mail.* apis and it's own transport implementation. The javax.mail APIs are used by other components (e.g., Axis) so they are pretty fundamental to Geronimo operations and show up in a lot of dependencies. Unfortunately, part of javamail processing is locating and loading all transport implementations contained in jars on the classpath. If both the sun jar and the geronimo jars are present, then both sets of transports get loaded and depending on the search order, the default transports can end up being the Sun versions. This appears to be what's happening in this case. My recommendation is to just use the geronimo jar files, and remove the Sun versions. The setup is very similar to the previous release. You only actually need to configure a GBean if you're using a mail resource. If you're just directly using the mail apis, you only need to add the jar files to your dependency list.

Rick


Rick McGuire wrote:
The message about unable to relay for that address is sent back from the SMTP server. I'm not sure what it didn't like, but it appears it couldn't figure out where to relay the message. The part I find interesting is the stack trace. You're using the Sun javamail transport implementation, not the Geronimo one. The API code (javax.mail.* appears to be the Geronimo version). Is that what you intended? I know we've never tested that combo, so it's unclear how well that would work. You might want to check around for a spurious mail.jar file. Having that in your classpath can potentially cause the other transports to get registered and override the Geronimo ones.

Rick


Michael C. wrote:
I tried your approach and that particular error went away but now i
believe i
am back to the root cause of all this effort; our email logic is throwing
an
error on this line in our application:

javax.mail.Transport.send(message);

Message=Could not send eMail to address [EMAIL PROTECTED] <;>
Thread=Thread[AmicaWebApp--TP-Processor3,5,main] <;> Original
Exception=javax.mail.SendFailedException: Invalid Addresses
(javax.mail.SendFailedException: 550 5.7.1 Unable to relay for
[EMAIL PROTECTED]

):Invalid Addresses (javax.mail.SendFailedException: 550 5.7.1 Unable to
relay for [EMAIL PROTECTED]

Thu Jan 25 09:28:14 EST 2007 <;>  Message=Could not send eMail to address
[EMAIL PROTECTED]<;>
Thread=Thread[AmicaWebApp--TP-Processor3,5,main] <;> Original
Exception=javax.mail.SendFailedException: Invalid Addresses
(javax.mail.SendFailedException: 550 5.7.1 Unable to relay for
[EMAIL PROTECTED]

):Invalid Addresses (javax.mail.SendFailedException: 550 5.7.1 Unable to
relay for [EMAIL PROTECTED]

) :Could not send eMail to address [EMAIL PROTECTED]
javax.mail.SendFailedException: Invalid Addresses
(javax.mail.SendFailedException: 550 5.7.1 Unable to relay for
[EMAIL PROTECTED]

)
      at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:804)
      at
com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:320)
      at javax.mail.Transport.send(Transport.java:93)
      at javax.mail.Transport.send(Transport.java:46)

Caused by: javax.mail.SendFailedException: 550 5.7.1 Unable to relay for
[EMAIL PROTECTED]
      at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:672)

I supplemented the real address but we are using a good address.  This
error
only occurs in our local testing using Geronimo but once we move our code
to
the next tier where WebSphere is running, everything works fine.  There
is a
configuration issue that i do not understand.


djencks wrote:
It looks to me as if the error message is fairly clear about the first think that is wrong with your xml....

<resource-ref>
            <property>MailSession</property>
            <res-type>javax.mail.Session</res-type>
            <res-auth>Container</res-auth>
            <res-sharing-scope>Shareable</res-sharing-scope>
            <pattern>
                 <name>mail/MailSession</name>
            </pattern>
        </resource-ref>

Caused by: org.apache.xmlbeans.XmlException: Invalid deployment descriptor:
[error: cvc-complex-type.2.4a: Expected element
'[EMAIL PROTECTED]://geronimo.apache.org/xml/ns/naming-1.1' instead of
'[EMAIL PROTECTED]://geronimo.apache.org/xml/ns/naming-1.1' here in element
[EMAIL PROTECTED]://geronimo.apache.org/xml/ns/naming-1.1,
I think this will work:
<resource-ref>
            <ref-name>MailSession</ref-name>
            <resource-link>mail/MailSession</resource-link>
        </resource-ref>

and I also think that if you name the mail session the same in your app and your mail-server plan you won't need any entry in the geronimo-web.xml at all.

thanks
david jencks


On Jan 24, 2007, at 7:57 AM, Michael C. wrote:

Our team has just upgraded from geronimo 1.0 to 1.1.1
Previously, to surpress javamail errors, we had to create a gbean and deploy it, then add a resource-ref entry to our geronimo-web.xml file and this
worked.

Since our upgrade, we are back to our original javamail errors. I found entries on other postings here and successfully deployed the following plan:

<?xml version="1.0" encoding="UTF-8"?>

<module xmlns="http://geronimo.apache.org/xml/ns/deployment-1.1";>
 <dep:environment
xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.1";>
   <dep:moduleId>
     <dep:groupId>geronimo</dep:groupId>
     <dep:artifactId>javamail-server</dep:artifactId>
   </dep:moduleId>

   <dep:dependencies>
     <dep:dependency>
       <dep:groupId>geronimo</dep:groupId>
       <dep:artifactId>geronimo-mail</dep:artifactId>
       <dep:version>1.1.1</dep:version>
       <dep:type>jar</dep:type>
       <dep:import>classes</dep:import>
     </dep:dependency>
     <dep:dependency>
       <dep:groupId>geronimo</dep:groupId>
       <dep:artifactId>geronimo-javamail-transport</dep:artifactId>
       <dep:version>1.1.1</dep:version>
       <dep:type>jar</dep:type>
       <dep:import>classes</dep:import>
     </dep:dependency>
     <dep:dependency>
       <dep:groupId>geronimo</dep:groupId>
       <dep:artifactId>rmi-naming</dep:artifactId>
       <dep:type>car</dep:type>
     </dep:dependency>
   </dep:dependencies>
   <dep:hidden-classes/>
   <dep:non-overridable-classes/>
 </dep:environment>

 <gbean name="SMTPTransport"
class="org.apache.geronimo.mail.SMTPTransportGBean">
   <attribute name="host">our smtp remote host</attribute>
   <attribute name="port">25</attribute>
 </gbean>
<gbean name="mail/MailSession" class="org.apache.geronimo.mail.MailGBean">
   <attribute name="transportProtocol">smtp</attribute>
   <attribute name="debug">true</attribute>
   <reference name="Protocols">
      <name>SMTPTransport</name>
   </reference>
 </gbean>
</module>

at this point, we need an entry in our geronimo-web.xml and so i have added
this:

<resource-ref>
           <property>MailSession</property>
           <res-type>javax.mail.Session</res-type>
           <res-auth>Container</res-auth>
           <res-sharing-scope>Shareable</res-sharing-scope>
           <pattern>
                <name>mail/MailSession</name>
           </pattern>
       </resource-ref>

This entry throws the following error:

10:16:48,922 ERROR [Hot Deployer] Unable to deploy: xml problem for web app
.

org.apache.geronimo.common.DeploymentException: xml problem for web app .

      at
org.apache.geronimo.tomcat.deployment.TomcatModuleBuilder.getTomcatWeb App(TomcatModuleBuilder.java:234)

      at
org.apache.geronimo.tomcat.deployment.TomcatModuleBuilder.createModule (TomcatModuleBuilder.java:158)

      at
org.apache.geronimo.web.deployment.AbstractWebModuleBuilder.createModu le(AbstractWebModuleBuilder.java:121)

      at
org.apache.geronimo.web.deployment.AbstractWebModuleBuilder$ $FastClassByCGLIB$$459e0cc.invoke(<generated>)

      at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)

      at
org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke (FastMethodInvoker.java:38)

      at
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke (GBeanOperation.java:122)

      at
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke (GBeanInstance.java:817)

      at
org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java: 57)

      at
org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke (RawOperationInvoker.java:35)

      at
org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept (ProxyMethodInterceptor.java:96)

      at
org.apache.geronimo.j2ee.deployment.ModuleBuilder$$EnhancerByCGLIB$ $1f792348.createModule(<generated>)

      at
org.apache.geronimo.j2ee.deployment.SwitchingModuleBuilder.createModul e(SwitchingModuleBuilder.java:94)

      at
org.apache.geronimo.j2ee.deployment.SwitchingModuleBuilder$ $FastClassByCGLIB$$d0c31844.invoke(<generated>)

      at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)

      at
org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke (FastMethodInvoker.java:38)

      at
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke (GBeanOperation.java:122)

      at
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke (GBeanInstance.java:817)

      at
org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java: 57)

      at
org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke (RawOperationInvoker.java:35)

      at
org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept (ProxyMethodInterceptor.java:96)

      at
org.apache.geronimo.j2ee.deployment.ModuleBuilder$$EnhancerByCGLIB$ $1f792348.createModule(<generated>)

      at
org.apache.geronimo.j2ee.deployment.EARConfigBuilder.getDeploymentPlan (EARConfigBuilder.java:275)

      at
org.apache.geronimo.j2ee.deployment.EARConfigBuilder$ $FastClassByCGLIB$$38e56ec6.invoke(<generated>)

      at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)

      at
org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke (FastMethodInvoker.java:38)

      at
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke (GBeanOperation.java:122)

      at
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke (GBeanInstance.java:817)

      at
org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java: 57)

      at
org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke (RawOperationInvoker.java:35)

      at
org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept (ProxyMethodInterceptor.java:96)

      at
org.apache.geronimo.deployment.ConfigurationBuilder$$EnhancerByCGLIB $$2b662bba.getDeploymentPlan(<generated>)

at org.apache.geronimo.deployment.Deployer.deploy (Deployer.java:232)

at org.apache.geronimo.deployment.Deployer.deploy (Deployer.java:124)

      at
org.apache.geronimo.deployment.Deployer$$FastClassByCGLIB$ $734a235d.invoke(<generated>)

      at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)

      at
org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke (FastMethodInvoker.java:38)

      at
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke (GBeanOperation.java:122)

      at
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke (GBeanInstance.java:852)

      at
org.apache.geronimo.kernel.basic.BasicKernel.invoke (BasicKernel.java:239)

      at
org.apache.geronimo.deployment.plugin.local.AbstractDeployCommand.doDe ploy(AbstractDeployCommand.java:106)

      at
org.apache.geronimo.deployment.plugin.local.DistributeCommand.run (DistributeCommand.java:60)

      at java.lang.Thread.run(Thread.java:534)

Caused by: org.apache.xmlbeans.XmlException: Invalid deployment descriptor:
[error: cvc-complex-type.2.4a: Expected element
'[EMAIL PROTECTED]://geronimo.apache.org/xml/ns/naming-1.1' instead of
'[EMAIL PROTECTED]://geronimo.apache.org/xml/ns/naming-1.1' here in element
[EMAIL PROTECTED]://geronimo.apache.org/xml/ns/naming-1.1, error:
cvc-complex-type.2.4a: Expected element
'[EMAIL PROTECTED]://geronimo.apache.org/xml/ns/naming-1.1' instead of
'[EMAIL PROTECTED]://geronimo.apache.org/xml/ns/naming-1.1' here in element
[EMAIL PROTECTED]://geronimo.apache.org/xml/ns/naming-1.1, error:
cvc-complex-type.2.4a: Expected element
'[EMAIL PROTECTED]://geronimo.apache.org/xml/ns/naming-1.1' instead of
'[EMAIL PROTECTED]://geronimo.apache.org/xml/ns/naming-1.1' here in element
[EMAIL PROTECTED]://geronimo.apache.org/xml/ns/naming-1.1, error:
cvc-complex-type.2.4a: Expected element
'[EMAIL PROTECTED]://geronimo.apache.org/xml/ns/naming-1.1' instead of
'[EMAIL PROTECTED]://geronimo.apache.org/xml/ns/naming-1.1' here in element [EMAIL PROTECTED]://geronimo.apache.org/xml/ns/naming-1.1, error:
cvc-complex-type.2.4a: Expected element
'[EMAIL PROTECTED]://geronimo.apache.org/xml/ns/naming-1.1' instead of
'[EMAIL PROTECTED]://geronimo.apache.org/xml/ns/naming-1.1' here in element
[EMAIL PROTECTED]://geronimo.apache.org/xml/ns/naming-1.1, error:
cvc-complex-type.2.4c: Expected element
'[EMAIL PROTECTED]://geronimo.apache.org/xml/ns/naming-1.1' before the end of
the content in element
[EMAIL PROTECTED]://geronimo.apache.org/xml/ns/naming-1.1]

Descriptor: <xml-fragment
xsi:schemaLocation="http://geronimo.apache.org/xml/ns/j2ee/web-1.1
../../../schemas/geronimo-web-1.1.xsd
http://geronimo.apache.org/xml/ns/naming-1.1 geronimo- naming-1.1.xsd
http://geronimo..apache.org/xml/ns/security-1.1
geronimo-security-1.1.xsd http://geronimo.apache.org/xml/ns/ deployment-1.1
geronimo-module-1.1.xsd "
xmlns:geronimo="http://geronimo.apache.org/xml/ns/security-1.1";
xmlns:naming="http://geronimo.apache.org/xml/ns/naming-1.1";
xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.1";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xmlns:tom="http://geronimo.apache.org/xml/ns/j2ee/web/tomcat-1.1";>

Can anyone provide assistance?  Thanks in advance.
--
View this message in context: http://www.nabble.com/geronimo- mail-1.1.1-tf3081989.html#a8563115 Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.




Reply via email to