所以我在ColdFusion 8中工作,尝试从同一页面上的几个不同用户的Exchange服务器中获取日历/日程表。由于您似乎只能在打开连接时指定邮箱,遗憾的是,我不得不为我希望访问的每个邮箱打开一个新连接。问题是,似乎只有我打开的第一个连接才起作用......任何后续连接都会失败。
我有以下内容:
<cfloop list="mailbox1,mailbox2,mailbox3" index="mailboxname">
<cfexchangeconnection action="open" connection="conExchangeSchedules"
server="****"
username="****"
password="****"
mailboxname="#mailboxname#"
protocol="https"
formbasedauthentication="false">
<cfexchangecalendar
action = "get"
name = "qrySchedule"
connection = "conExchangeSchedules">
<cfexchangefilter name="StartTime" from="{ts '2013-01-06 00:00:00'}" to="{ts '2013-01-12 23:59:59'}">
</cfexchangecalendar>
<cfexchangeconnection action="close" connection="conExchangeSchedules">
<cfdump var="#qrySchedule#">
</cfloop>
仅第一个邮箱成功。我知道所有邮箱都有效,因为我已经分别尝试了每个邮箱,并作为列表中的第一个值。
但所有其他连接都会返回错误
Could not login to the Exchange server.
Verify the server name, username, and password. Ensure that proper client certificates are installed.
显然不是一个有用的错误,因为第一个连接工作正常(因此&#34;验证&#34;所有需要的设置)。
我甚至试图用不同的名字创建每个连续的连接。同样的问题。
有人有任何指示或想法吗?
提前致谢! -Carl
答案 0 :(得分:1)
回答部分问题。您提到您只能在mailboxName
标记中指定cfexchangeconnection
属性。不一定......如果你阅读cfexchangecalendar
标签的文档,它包含这个注释(请注意'如果省略连接属性..'语句):
注意:对于所有操作,请参阅cfexchangeconnection以了解在未指定连接属性时使用的其他属性。如果省略连接属性,请通过在cfexchangecalendar标记中指定cfexchangeconnection标记属性来创建临时连接。在这种情况下,ColdFusion会在标记完成时关闭连接。有关详细信息,请参阅cfexchangeconnection标记打开操作。
所以我读到这意味着您可以通过在cfexchangeconnection
标记本身中添加cfexchangecalendar
标记的开放属性来创建与Exchange服务器的临时连接。
不确定这是否会解决您的其他问题。