2

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

显然不是一个有用的错误,因为第一个连接工作正常(因此“验证”所有需要的设置)。

我什至尝试用不同的名称创建每个连续的连接。同样的问题。

有没有人有任何指示或想法?

提前致谢!-卡尔

4

1 回答 1

1

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

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

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

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

cfexchangecalendar 标记的参考文档。

于 2013-01-11T17:14:15.193 回答