Calendar 请求用户的日历可用性详细信息时Exchange 2010模拟出现问题
我正在进行一个项目,其中一个外部应用程序正在尝试获取Exchange 2010中用户组的空闲/忙碌可用性信息以及详细位置/主题等 我已经读了足够多的书,我认为最好的方法是通过应用程序运行的服务帐户来模拟有问题的用户并提取他们的日历信息 我已经为服务帐户设置了模拟,并运行了在technet上找到的基本测试: 例如,这适用于回拉邮箱文件夹,如果尝试回拉日历文件夹 我还发现了如何通过technet获得可用性: 如果我以试图查找日历信息的用户身份登录,这也会起作用 当我尝试将模拟XML和get可用性结合起来时,问题就出现了。以下是我为这两个联合收割机准备的:Calendar 请求用户的日历可用性详细信息时Exchange 2010模拟出现问题,calendar,exchange-server,impersonation,exchangewebservices,Calendar,Exchange Server,Impersonation,Exchangewebservices,我正在进行一个项目,其中一个外部应用程序正在尝试获取Exchange 2010中用户组的空闲/忙碌可用性信息以及详细位置/主题等 我已经读了足够多的书,我认为最好的方法是通过应用程序运行的服务帐户来模拟有问题的用户并提取他们的日历信息 我已经为服务帐户设置了模拟,并运行了在technet上找到的基本测试: 例如,这适用于回拉邮箱文件夹,如果尝试回拉日历文件夹 我还发现了如何通过technet获得可用性: 如果我以试图查找日历信息的用户身份登录,这也会起作用 当我尝试将模拟XML和get可用性结合
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<soap:Header>
<t:ExchangeImpersonation>
<t:ConnectingSID>
<t:PrincipalName>[usersname@myorg.org]</t:PrincipalName>
</t:ConnectingSID>
</t:ExchangeImpersonation>
</soap:Header>
<soap:Body>
<GetUserAvailabilityRequest xmlns="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<t:TimeZone xmlns="http://schemas.microsoft.com/exchange/services/2006/types">
<Bias>300</Bias>
<StandardTime>
<Bias>0</Bias>
<Time>02:00:00</Time>
<DayOrder>1</DayOrder>
<Month>11</Month>
<DayOfWeek>Sunday</DayOfWeek>
</StandardTime>
<DaylightTime>
<Bias>-60</Bias>
<Time>02:00:00</Time>
<DayOrder>2</DayOrder>
<Month>3</Month>
<DayOfWeek>Sunday</DayOfWeek>
</DaylightTime>
</t:TimeZone>
<MailboxDataArray>
<t:MailboxData>
<t:Email>
<t:Address>[usersname@myorg.org]</t:Address>
</t:Email>
<t:AttendeeType>Required</t:AttendeeType>
<t:ExcludeConflicts>false</t:ExcludeConflicts>
</t:MailboxData>
</MailboxDataArray>
<t:FreeBusyViewOptions>
<t:TimeWindow>
<t:StartTime>2011-07-28T00:00:00</t:StartTime>
<t:EndTime>2011-07-28T23:59:59</t:EndTime>
</t:TimeWindow>
<t:MergedFreeBusyIntervalInMinutes>5</t:MergedFreeBusyIntervalInMinutes>
<t:RequestedView>DetailedMerged</t:RequestedView>
</t:FreeBusyViewOptions>
</GetUserAvailabilityRequest>
</soap:Body>
</soap:Envelope>
我得到的回报是:
<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<s:Fault>
<faultcode xmlns:a="http://schemas.microsoft.com/exchange/services/2006/types">a:ErrorProxyRequestNotAllowed</faultcode>
<faultstring xml:lang="en-US">Client context header found but no request type found in SOAP header.</faultstring>
<detail>
<m:ErrorCode xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages">5015</m:ErrorCode>
</detail>
</s:Fault>
</s:Body>
</s:Envelope>
在technet中进一步挖掘,ErrorProxyRequestNotAllowed信息:
此错误表示Exchange Web服务在尝试满足GetUserAvailability请求时发送到另一个客户端访问服务器的请求无效。此响应代码通常表示发生了配置或权限错误,或者有人试图模拟可用性代理请求失败
我遇到的问题是,在我收回用户的邮件和日历文件夹的情况下,模拟似乎是如何工作的,而在我想检查它们的可用性的情况下,模拟却不起作用
现在,我只是通过一个小python脚本包装的curl发送直接的XML
有人有什么建议吗?提前谢谢 我终于找到了一些旧的参考资料,这是已知的GetUser[blank]请求样式调用和模拟的特性/错误。
这两种方法根本不起作用。我希望这能节省一些时间 谢谢,我想你为我节省了很多时间。