EWS部分同步soap请求将组织者名称作为约会主题返回

时间:2016-11-03 06:06:14

标签: exchangewebservices

我目前正在开发一个项目,该系统是node.js网络服务器订阅的推送通知,用于更改Exchange服务器的资源日历。我们按照MSDN文档使用SOAP请求订阅并与Exchange服务器通信。

我们使用下面的SOAP请求来获取更改并将它们存储在Web服务器的本地数据库中。 '+ roomCalId'和'+ syncState +'值被替换为房间日历Id及其对应的同步状态,这些状态在订阅时先前存储在数据库中。

<soap:Envelope 
xmlns:soap="http://schemas.xmlsoap.org/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">
    <soap:Header>
        <t:RequestServerVersion Version="Exchange2013"></t:RequestServerVersion>
        <t:TimeZoneContext>
            <t:TimeZoneDefinition Name="UTC" Id="UTC"></t:TimeZoneDefinition>
        </t:TimeZoneContext>
        <t:ExchangeImpersonation>
            <t:ConnectingSID>
                <t:PrimarySmtpAddress>+roomCalId+</t:PrimarySmtpAddress>
            </t:ConnectingSID>
        </t:ExchangeImpersonation>
    </soap:Header>
    <soap:Body>
        <m:SyncFolderItems>
            <m:ItemShape>
                <t:BaseShape>AllProperties</t:BaseShape>
            </m:ItemShape>
            <m:SyncFolderId>
                <t:DistinguishedFolderId Id="calendar" />
            </m:SyncFolderId>  
            <m:SyncState>+syncState+</m:SyncState>  
            <m:MaxChangesReturned>500</m:MaxChangesReturned>
            <m:SyncScope>NormalItems</m:SyncScope>
         </m:SyncFolderItems>
    </soap:Body>
</soap:Envelope>

这个过程完美无缺,前几个日历没有任何问题。但是,对于新创建的房间日历,上面的soap请求会将组织者的名称作为约会标题而不是实际标题返回。是否有可能发生这种情况的原因?

1 个答案:

答案 0 :(得分:0)

这是房间邮箱的默认设置,其中管理器名称用于替换会议主题。出于安全原因这样做是因为大多数人都可以访问会议室,但通常像人力资源这样的人可能不希望人们看到会议的主题(例如,会议谈论缩小规模等)。您可以使用Set-CalendarProcessing cmdlet https://technet.microsoft.com/en-us/library/dd335046(v=exchg.160).aspx和AddOrganizerToSubject参数

更改此设置