Description:
I need to access calendar events for a user who has delegated access to my calendar on my Exchange Server. The delegation exists, and I can view / change the calendar of other users using the Outlook 2007 client, so I know that the delegation rights are correct, however I can not request events using ColdFusion cfexchange * tags.
According to ColdFusion documentation, this is possible, see http://help.adobe.com/en_US/ColdFusion/10.0/Developing/WSc3ff6d0ea77859461172e0811cbec14f31-7ff6.html
Systems:
- ColdFusion 10 Enterprise x64 0 update on Ubuntu 12.04 x64 LTS server
- Exchange Server Standard 2010 SP 1 Running on Windows Server 2008 R2
- Outlook 2007 runs on Windows XP Professional SP3
More details
The following code is what I use with the specific and sensitive bits removed. If I remove the mailboxName attribute or use the same username value, I can successfully see 25 of my calendar events. However, when I use the mailbox name of the person who delegated access to the calendar to me, I get the error below.
Another user delegated access to me from their Outlook 2007. They did this by going to the "Tools" menu, selecting "Options", clicking "Delegates", clicking the "Add" button, choosing my name, clicking the "Add" button, clicking the " OK "and then give me Calendar = Editor Permissions and No for all other permissions.
It should also be noted that if I use an Exchange account that has been granted Exchange administrator rights and access to the mailbox of other users, I can see other user events. However, if I try to use my credentials, what we need to work, it fails.
Code:
<cfexchangeConnection action = "open" connection = "myExchangeConnection" username = "myUserName" password = "mySecr3t" server = "exchange.company.com" formBasedAuthentication = "yes" formBasedAuthenticationURL = "https://exchange.company.com/owa/auth/owaauth.dll" protocol = "https" serverversion = "2010" mailboxName = "otherUserName" > <cfexchangecalendar action="get" name="myCalendar" connection="myExchangeConnection" > <cfexchangefilter name = "maxRows" value = "25"> </cfexchangecalendar>
Error message
Detail The specified object was not found in the store. Message Could not connect to the exchange server with the credentials. StackTrace coldfusion.exchange.webservice.EWS Exception: Could not connect to the exchange server with the credentials. at coldfusion.exchange.webservice.EWSConnection.login(EWSConnection.java:1777) at coldfusion.tagext.net.exchange.ExchangeTag.createConnection(ExchangeTag.java:499) at coldfusion.tagext.net.exchange.ExchangeConnectionTag.doEndTag(ExchangeConnectionTag.java:70) at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:2800) at cfindex2ecfm2100699610.runPage(/mnt/hgfs/ftcr/index.cfm:72) at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:244) at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:444) at coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65) at coldfusion.filter.IpFilter.invoke(IpFilter.java:64) at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:443) at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:48) at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40) at coldfusion.filter.PathFilter.invoke(PathFilter.java:112) at coldfusion.filter.LicenseFilter.invoke(LicenseFilter.java:30) at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:94) at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28) at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38) at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:46) at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38) at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22) at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:62) at coldfusion.filter.RequestThrottleFilter.invoke(RequestThrottleFilter.java:151) at coldfusion.CfmServlet.service(CfmServlet.java:204) at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42) at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:414) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:300) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662)