0

我正在尝试查询 Exchange Webservices 是否有不完整的任务,但与这个问题不同的是,我使用普通的 Web 服务调用(如通过 SOAP-UI)而不是通过 C# 这样做。

我想知道是否可以使用简单的 Web 服务请求过滤相同的内容。

我当前的请求获取所有 Outlook 任务,我可以过滤结果,但最好让 Exchange 进行过滤。

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:mes="http://schemas.microsoft.com/exchange/services/2006/messages">
   <soapenv:Body>
      <FindItem Traversal="Shallow" xmlns="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
         <ItemShape>
            <t:BaseShape>Default</t:BaseShape>
         </ItemShape>
         <ParentFolderIds>
            <t:DistinguishedFolderId Id="tasks">
               <t:Mailbox>
                  <t:EmailAddress>dummy@address.com</t:EmailAddress>
               </t:Mailbox>
            </t:DistinguishedFolderId>
         </ParentFolderIds>
      </FindItem>
   </soapenv:Body>
</soapenv:Envelope>

我正在与 Outlook 2007 交谈。

4

1 回答 1

1

一般来说,这里的最佳实践是进行客户端过滤。如果您对不完整的任务很少发出临时请求,那么我建议您使用搜索过滤器。如果您发现必须频繁地请求更新任务,那么搜索文件夹可能是合适的。如果您想让您的应用程序实时,您可以订阅任务文件夹上的事件通知。

顺便问一下,您的应用程序是访问多个邮箱还是仅访问单个用户的邮箱?您上面的示例表明这是一个委托访问方案。

于 2013-10-28T22:54:48.877 回答