Генерация команд ActiveSync sync / fetch загружается на сервер Exchange - PullRequest
0 голосов
/ 14 августа 2011

Я разрабатываю плагин Exchange, который может влиять на операции ActiveSync. Сейчас я ищу быстрый способ создания большого количества операций синхронизации / выборки, которые будут имитировать несколько устройств ISO / Android, которые синхронизируют и извлекают электронные письма из нескольких почтовых ящиков.

Он смог загрузить 10 000 почтовых ящиков на мой сервер Exchange 2010 с пакетом обновления 1 (SP1), но, похоже, я не могу синхронизировать ни один из этих почтовых ящиков при отправке запроса с SyncKey: 1 и Class: Email. Всегда происходит сбой, когда у объекта не найден код состояния, даже если почтовый ящик заполнен сообщениями.

По какой-то причине, как только я настроил реальный клиент IOS / Android Exchange с определенным почтовым ящиком, внезапно появилась возможность синхронизировать этот почтовый ящик.

Существует ли простой способ настроить это начальное состояние на все эти 10000 почтовых ящиков, чтобы я мог синхронизировать их все позже с помощью простой команды Sync (SyncKey: 1 и Class: Email)? Или у вас есть другая идея, как генерировать такую ​​нагрузку?

Вот ответ, который я получаю при отправке команды Sync с SyncKey = 0:

<?xml version="1.0"?>
<Sync xmlns="http://synce.org/formats/airsync_wm5/airsync">
    <Status xmlns="http://synce.org/formats/airsync_wm5/airsync">8</Status>
</Sync>

Ответы [ 2 ]

1 голос
/ 12 сентября 2012

Боюсь, нет простого способа сделать это; клиенты в основном должны пройти через:

  1. Выполнить FolderSync Вт. SyncKey=0, чтобы получить общую структуру папок.
  2. Выполнить Sync Вт. SyncKey=0 в каждой из этих папок, чтобы получить ее содержимое.

В частности, вам всегда нужно возвращать предыдущий SyncKey для любой операции с данной папкой, что вынуждает вас выполнять действия последовательно. По сути, [MS-ASCMD] - это место для поиска.

(Вам также может понадобиться отправить Provision -команду на сервер, чтобы начать. За подробностями обращайтесь к [MS-ASPROV] .)

Так что, в принципе, я думаю, что вам лучше использовать существующий клиент, который либо реализует более простой API, либо прокси для чего-то более работоспособного. Вы могли бы взглянуть на DAVMail , который является прокси-сервером IMAP → EAS - таким образом, вам "нужно" просто реализовать что-то в IMAP ...

1 голос
/ 15 августа 2011

Вы уверены, что ключ синхронизации равен 1?Когда я работал с серверами Exchange и активной синхронизацией, первый реальный ключ синхронизации всегда был что-то вроде 000000000{388899F6-C5A1-4903-B638-1F5021C556BE}0

Получите синхронизацию, выполнив команду sync с synckey = 0

...