我正在使用 Exchange Web 服务调用 GetRoomLists,我们正在运行 Exchange 2010。下面的代码正在通过控制台应用程序执行。根据“No Error”的 XML 响应,调用成功,但没有返回数据。当您尝试通过 Outlook 约会添加一个房间时,我们列出了数百个房间,因此不确定为什么会发生这种情况。
我尝试使用 EWS DLL 版本 1.2 和 2.0,使用默认凭据或传入凭据。在最初发布此消息后,我注意到响应标头说我们正在使用 Exchange 2012 SP2,因此我尝试更新我的代码以使用该 ExchangeVersion 枚举值,但结果没有变化。
我已在此 Exchange 服务器上成功使用 EWS 来读取邮箱,但以前从未使用过房间。
C#
ExchangeService es = new ExchangeService(ExchangeVersion.Exchange2010);
es.TraceFlags = TraceFlags.EwsResponse | TraceFlags.EwsRequest;
es.TraceEnabled = true;
es.UseDefaultCredentials = true;
es.AutodiscoverUrl("autodiscover@example.com");
//this collection is empty after processing
EmailAddressCollection eac = es.GetRoomLists();
来自 Web 服务请求/响应的 XML 跟踪
<Trace Tag="EwsRequest" Tid="9" Time="2013-03-13 20:39:41Z" Version="14.03.0032.000">
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<t:RequestServerVersion Version="Exchange2010" />
</soap:Header>
<soap:Body>
<m:GetRoomLists />
</soap:Body>
</soap:Envelope>
</Trace>
<Trace Tag="EwsResponse" Tid="9" Time="2013-03-13 20:39:41Z" Version="14.03.0032.000">
<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<h:ServerVersionInfo MajorVersion="14" MinorVersion="2" MajorBuildNumber="328" MinorBuildNumber="9" Version="Exchange2010_SP2" xmlns:h="http://schemas.microsoft.com/exchange/services/2006/types" xmlns="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
</s:Header>
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<GetRoomListsResponse ResponseClass="Success" xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
<ResponseCode>NoError</ResponseCode>
<m:RoomLists xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" />
</GetRoomListsResponse>
</s:Body>
</s:Envelope>
</Trace>
GetRoomLists 上的 MSDN 文档:http: //msdn.microsoft.com/en-us/library/dd899416 (v=exchg.140).aspx