It's all about the answers!

Ask a question

JTS - com.ibm.team.repository.common.TeamRepositoryException - when attempting to send invitation emails


Joseph Nelson (19258) | asked Oct 30 '12, 6:00 p.m.
edited Oct 30 '12, 6:01 p.m.
 When trying to send an email invitation to join a project, I get a generic error message and a java dump. I verified my SMTP settings, fiddled with options, all to no avail. Any ideas?

Failed to send team invitations.
hide details
Error generating team invitations for the following members: [REDACTED FOR POST]
com.ibm.team.repository.common.TeamRepositoryException
com.ibm.team.process.internal.service.ProcessService.sendTeamInvitation(ProcessService.java:4721)
com.ibm.team.process.internal.service.GenerateTeamInvitationOperation.run(GenerateTeamInvitationOperation.java:52)
com.ibm.team.process.internal.common.advice.runtime.OperationAdviceManager.runOperation(OperationAdviceManager.java:1380)
com.ibm.team.process.internal.common.advice.runtime.OperationAdviceManager.advise(OperationAdviceManager.java:312)
com.ibm.team.process.internal.common.util.AbstractProcess.doAdvise(AbstractProcess.java:196)
com.ibm.team.process.internal.service.ServerProcess.access$2(ServerProcess.java:1)
com.ibm.team.process.internal.service.ServerProcess$2.run(ServerProcess.java:156)
com.ibm.team.repository.service.internal.PrimitiveTransactionService$3.run(PrimitiveTransactionService.java:176)
com.ibm.team.repository.service.internal.rdb.RepositoryDatabase$Transaction.run(RepositoryDatabase.java:500)
com.ibm.team.repository.service.internal.rdb.RepositoryDatabase$1.run(RepositoryDatabase.java:324)
com.ibm.team.repository.service.internal.rdb.ConnectionPoolService.withCurrentConnection(ConnectionPoolService.java:381)
sun.reflect.GeneratedMethodAccessor204.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:600)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)
$Proxy1208.withCurrentConnection(Unknown Source)
com.ibm.team.repository.service.internal.rdb.RepositoryDatabase.runTransaction(RepositoryDatabase.java:320)
com.ibm.team.repository.service.internal.rdb.RepositoryDatabase.runInTransaction(RepositoryDatabase.java:275)
com.ibm.team.repository.service.internal.PrimitiveTransactionService.runInTransaction(PrimitiveTransactionService.java:110)
com.ibm.team.repository.service.internal.PrimitiveTransactionService.runInTransaction(PrimitiveTransactionService.java:105)
sun.reflect.GeneratedMethodAccessor358.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:600)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)
$Proxy1245.runInTransaction(Unknown Source)
com.ibm.team.repository.service.internal.TransactionService.runInTransaction(TransactionService.java:37)
sun.reflect.GeneratedMethodAccessor394.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:600)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)
$Proxy1325.runInTransaction(Unknown Source)
com.ibm.team.process.internal.service.ProcessService.runInTransaction(ProcessService.java:4614)
com.ibm.team.process.internal.service.ProcessService.runInTransaction(ProcessService.java:4621)
com.ibm.team.process.internal.service.ServerProcess.adviseAndExecute(ServerProcess.java:153)
com.ibm.team.process.internal.service.ProcessService.executeProcessItemSaveOperation(ProcessService.java:1598)
com.ibm.team.process.internal.service.ProcessService.generateTeamInvitation(ProcessService.java:3758)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:600)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)
$Proxy1531.generateTeamInvitation(Unknown Source)
com.ibm.team.process.internal.service.web.ProcessWebUIService.generateTeamInvitation(ProcessWebUIService.java:3022)
com.ibm.team.process.internal.service.web.ProcessWebUIService.postGenerateTeamInvitations(ProcessWebUIService.java:3018)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:600)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)
$Proxy1829.postGenerateTeamInvitations(Unknown Source)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:600)
com.ibm.team.repository.servlet.AbstractTeamServerServlet.doModelledRestService(AbstractTeamServerServlet.java:541)
com.ibm.team.repository.servlet.AbstractTeamServerServlet.handleRequest2(AbstractTeamServerServlet.java:2097)
com.ibm.team.repository.servlet.AbstractTeamServerServlet.handleRequest(AbstractTeamServerServlet.java:1917)
com.ibm.team.repository.servlet.AbstractTeamServerServlet.service(AbstractTeamServerServlet.java:1793)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:180)
org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:126)
org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:76)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.eclipse.equinox.servletbridge.BridgeServlet.service(BridgeServlet.java:120)
com.ibm.team.repository.server.servletbridge.JazzServlet.service(JazzServlet.java:68)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
com.ibm.team.repository.server.servletbridge.BridgeFilter.processDelegate(BridgeFilter.java:133)
com.ibm.team.repository.server.servletbridge.BridgeFilter.doFilter(BridgeFilter.java:154)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:336)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
java.lang.Thread.run(Thread.java:736)
Caused by:
Error sending message.; nested exception is: com.ibm.team.repository.service.compatibility.util.http.CrossServerHttpClient$RestCommunicationException (javax.mail.MessagingException)ID CRJAZ1611E
com.ibm.team.repository.service.compatibility.internal.mailer.MailerService.createMessagingException(MailerService.java:142)
com.ibm.team.repository.service.compatibility.internal.mailer.MailerService.sendMail(MailerService.java:255)
com.ibm.team.repository.service.compatibility.internal.mailer.MailerService.sendMail(MailerService.java:237)
com.ibm.team.repository.service.compatibility.internal.mailer.MailerService.sendMail(MailerService.java:270)
... 114 more.
Caused by:
com.ibm.team.repository.service.compatibility.util.http.CrossServerHttpClient.createExceptionFromResponse(CrossServerHttpClient.java:552)
com.ibm.team.repository.service.compatibility.util.http.CrossServerHttpClient.checkResponse(CrossServerHttpClient.java:475)
com.ibm.team.repository.service.compatibility.util.http.CrossServerHttpClient.send(CrossServerHttpClient.java:449)
com.ibm.team.repository.service.compatibility.util.http.CrossServerHttpClient.send(CrossServerHttpClient.java:337)
... 127 more.


Accepted answer


permanent link
Martha (Ruby) Andrews (3.0k44251) | answered Oct 30 '12, 6:47 p.m.
JAZZ DEVELOPER
Hello,

One thing to note is that the team invitations are sent as the currently logged in user, not as the user specified in the Email setup. So, make sure that the currently logged in user is able to send mail. One way to do this is to telnet to the SMTP server and attempt to send mail.

Generally errors sending team invitations boil down to mail server configuration problems, but they can be difficult to track down in versions before 4.0 due to lack of information in the log file. Two steps for debugging are:
 -- telnet to SMTP and send mail
-- check the jts.log file for an error that occurs around the same time. There may be a message that says MailerService is retrying the send for such and such a reason.

Ruby
Jazz L3 Developer
Joseph Nelson selected this answer as the correct answer

Comments
Joseph Nelson commented Oct 30 '12, 6:58 p.m.

So, if our credentials for RTC are not the same as the email server, we cannot send email notices?


Martha (Ruby) Andrews commented Oct 30 '12, 7:38 p.m.
JAZZ DEVELOPER

If email address in your RTC user is ableto send emails, you can send team invitations.


Joseph Nelson commented Oct 31 '12, 12:51 a.m. | edited Oct 31 '12, 12:53 a.m.

Sorry, to explain: We use office 365 as our SMTP server. The user login for office 365 (specifically the password) does not necessarily (or usually) match the login for RTC. We created a special "Jazz" account for our mail server and used those credentials to set up the connection.


If I am understanding correctly, RTC uses the email address and user account password from LDAP or the Tomcat user database, for the current user, to try and authenticate to the SMTP server.

Is this correct?

Your answer


Register or to post your answer.


Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.