Exchange Server 2016通过SOAP请求获取Persona的BusinessAddressesArray问题
Exchange Server 2016 EWS 获取Persona的BusinessAddressesArray扩展属性问题解决
你的问题出在ExtendedFieldURI未指定BusinessAddressesArray对应的唯一属性ID,仅声明属性集和类型无法让Exchange定位到目标扩展属性。
修正后的ExtendedFieldURI片段
<t:ExtendedFieldURI DistinguishedPropertySetId="Address" PropertyId="0x8009" PropertyType="StringArray" />
说明
BusinessAddressesArray在EWS的Address属性集中对应的固定PropertyId为0x8009,必须明确指定这个ID才能正确获取到Persona的企业地址数组。
完整修正后的SOAP请求
<?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:Header> <t:RequestServerVersion Version="Exchange2016" /> </soap:Header> <soap:Body> <FindPeople xmlns="http://schemas.microsoft.com/exchange/services/2006/messages"> <PersonaShape> <t:BaseShape>IdOnly</t:BaseShape> <t:AdditionalProperties> <t:ExtendedFieldURI DistinguishedPropertySetId="Address" PropertyId="0x8009" PropertyType="StringArray" /> <!-- 按需添加其他扩展属性 --> </t:AdditionalProperties> </PersonaShape> <IndexedPageItemView BasePoint="Beginning" MaxEntriesReturned="1000" Offset="9000"/> <ParentFolderId> <t:FolderId Id="MY_FOLDER_ID"/> </ParentFolderId> </FindPeople> </soap:Body> </soap:Envelope>
额外提示
- 替换
MY_FOLDER_ID为实际的通讯簿/联系人文件夹ID - 如果需要获取个人地址数组(PersonalAddressesArray),可以添加对应的扩展属性:
<t:ExtendedFieldURI DistinguishedPropertySetId="Address" PropertyId="0x800A" PropertyType="StringArray" />
内容的提问来源于stack exchange,提问作者alaa_sayegh
相关产品推荐
相关产品推荐

