ColdFusion cfexchange连接和多个邮箱

时间:2013-01-11 04:35:09

标签: coldfusion coldfusion-8

所以我在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

1 个答案:

答案 0 :(得分:1)

回答部分问题。您提到您只能在mailboxName标记中指定cfexchangeconnection属性。不一定......如果你阅读cfexchangecalendar标签的文档,它包含这个注释(请注意'如果省略连接属性..'语句):

注意:对于所有操作,请参阅cfexchangeconnection以了解在未指定连接属性时使用的其他属性。如果省略连接属性,请通过在cfexchangecalendar标记中指定cfexchangeconnection标记属性来创建临时连接。在这种情况下,ColdFusion会在标记完成时关闭连接。有关详细信息,请参阅cfexchangeconnection标记打开操作。

所以我读到这意味着您可以通过在cfexchangeconnection标记本身中添加cfexchangecalendar标记的开放属性来创建与Exchange服务器的临时连接。

不确定这是否会解决您的其他问题。

Referenced documentation for the cfexchangecalendar tag.