ExpandDL 操作
ExpandDL 操作公开通讯组列表的完整成员身份。
使用 ExpandDL Web 方法
ExpandDL 操作使用位于 Exchange.asmx 中的 Web 服务。 此 Web 服务方法接受一个 Mailbox 元素,该元素可以包含用于扩展公共通讯组列表 的 EmailAddress (NonEmptyStringType) 子元素,也可以包含用于扩展专用通讯组列表的 ItemId 子元素。
可以使用下列方法之一来扩展公共通讯组列表:
通讯组列表别名
简单邮件传输协议 (SMTP) 地址
X400
X500
Exchange 旧地址
通讯组列表名称
显示名称
重要
显示名称不唯一。 多个帐户可以共享相同的显示名称。
备注
不支持递归扩展。 一次调用中只能展开一个通讯组列表。 如果多个通讯组列表与条件匹配,则 Web 服务将报告错误。 客户端应用程序可以使用不明确的名称解析 (ANR) 查找不明确的通讯组列表,然后选择所需通讯组列表的正确电子邮件地址作为 ExpandDL 操作的参数。 有关详细信息,请参阅 ResolveNames 操作。
公共通讯组列表位于 Active Directory 中。 它们可以是任何启用邮件的通讯组或动态通讯组。 组不应在地址列表中隐藏,并且每个成员应具有非空电子邮件地址。 通讯组列表的成员可以是启用邮件的用户和联系人、公用文件夹以及启用邮件的通讯组列表和动态组。
专用通讯组列表位于用户邮箱的“联系人”文件夹中。 专用通讯组列表没有电子邮件地址,因此在 ExpandDL 请求中使用其存储项标识符。 专用通讯组列表的成员可以是来自 Active Directory 的任何启用邮件的用户、联系人或通讯组列表,也可以是用户的“联系人”文件夹中的联系人或专用通讯组列表。
对于联系人或专用通讯组列表,将在响应中返回项标识符。 这可用于获取有关对象的信息或扩展专用通讯组列表中的成员身份。
ExpandDL 专用通讯组列表请求示例
说明
下面的 ExpandDL 请求示例演示如何形成请求以展开专用通讯组列表。
代码
<?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="Exchange2013_SP1" />
</soap:Header>
<soap:Body>
<m:ExpandDL>
<m:Mailbox>
<t:EmailAddress>test</t:EmailAddress>
</m:Mailbox>
</m:ExpandDL>
</soap:Body>
</soap:Envelope>
Comments
若要展开专用通讯组列表, Mailbox 元素将包含用于标识用户邮箱中的专用通讯组列表的 ItemId 元素。
ExpandDL 公共通讯组列表请求示例
说明
下面的 ExpandDL 请求示例演示如何形成请求以展开公共通讯组列表。 该示例演示了如何使用显示名称展开通讯组列表。
代码
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<soap:Body>
<ExpandDL xmlns="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<t:Mailbox>
<t:EmailAddress>TheDistributionList</t:EmailAddress>
</t:Mailbox>
</ExpandDL>
</soap:Body>
</soap:Envelope>
Comments
对此请求的响应将包含用于标识通讯组列表中的每个邮箱的 Mailbox 元素。 如果通讯组列表包含在通讯组列表中,则必须对嵌入的通讯组列表执行单独的通讯组列表扩展。 如果通讯组列表没有成员或请求的通讯组列表不存在, 则 ResponseClass 属性将包含等于 Success 的值。
请求元素
请求中使用以下元素:
EmailAddress (NonEmptyStringType) 用于标识公共通讯组列表。 ItemId 元素用于标识专用通讯组列表。
注意
描述这些元素的架构位于运行安装了客户端访问服务器角色的 MicrosoftExchange Server 2007 的计算机的 EWS 虚拟目录中。
成功的 ExpandDL 响应示例
说明
下面的 ExpandDL 响应示例显示了对上述请求的响应。 通讯组列表扩展描述了以下内容:
响应中返回的通讯组列表的成员数。
响应是否包含通讯组列表的所有成员。
邮箱的名称。
邮箱的电子邮件地址。
邮箱的路由类型。
邮箱的类型。
注意
通讯组列表名称不包括在响应中;因此,必须跟踪请求中的名称。
代码
<?xml version="1.0" encoding="utf-8" ?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<t:ServerVersionInfo MajorVersion="8" MinorVersion="0"
MajorBuildNumber="628" MinorBuildNumber="0"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" />
</soap:Header>
<soap:Body>
<ExpandDLResponse xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"
xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
<m:ResponseMessages>
<m:ExpandDLResponseMessage ResponseClass="Success">
<m:ResponseCode>NoError</m:ResponseCode>
<m:DLExpansion TotalItemsInView="3" IncludesLastItemInRange="true">
<t:Mailbox>
<t:Name>Dan Park</t:Name>
<t:EmailAddress>dpark@exampledomain.com</t:EmailAddress>
<t:RoutingType>SMTP</t:RoutingType>
<t:MailboxType>Mailbox</t:MailboxType>
</t:Mailbox>
<t:Mailbox>
<t:Name>Jeff Price</t:Name>
<t:EmailAddress>jprice@exampledomain.com</t:EmailAddress>
<t:RoutingType>SMTP</t:RoutingType>
<t:MailboxType>Mailbox</t:MailboxType>
</t:Mailbox>
<t:Mailbox>
<t:Name>Tanja Plate</t:Name>
<t:EmailAddress>tplate@exampledomain.com</t:EmailAddress>
<t:RoutingType>SMTP</t:RoutingType>
<t:MailboxType>Mailbox</t:MailboxType>
</t:Mailbox>
</m:DLExpansion>
</m:ExpandDLResponseMessage>
</m:ResponseMessages>
</ExpandDLResponse>
</soap:Body>
</soap:Envelope>
成功的响应元素
响应中使用以下元素:
若要查找 ExpandDL 操作响应消息的其他选项,请浏览架构层次结构。 从 ExpandDLResponse 元素开始。
ExpandDL 错误响应
说明
以下示例显示了对 ExpandDL 请求的错误响应。
代码
<?xml version="1.0" encoding="utf-8" ?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<t:ServerVersionInfo MajorVersion="8" MinorVersion="0"
MajorBuildNumber="628" MinorBuildNumber="0"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" />
</soap:Header>
<soap:Body>
<ExpandDLResponse xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"
xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
<m:ResponseMessages>
<m:ExpandDLResponseMessage ResponseClass="Error">
<m:MessageText>No results are found.</m:MessageText>
<m:ResponseCode>ErrorNameResolutionNoResults</m:ResponseCode>
<m:DescriptiveLinkKey>0</m:DescriptiveLinkKey>
</m:ExpandDLResponseMessage>
</m:ResponseMessages>
</ExpandDLResponse>
</soap:Body>
</soap:Envelope>
错误响应元素
错误响应中使用以下元素:
若要查找 ExpandDL 操作响应消息的其他选项,请浏览架构层次结构。 从 ExpandDLResponse 元素开始。