生成 ActiveSync 同步/获取命令加载到 Exchange 服务器上
我正在开发一个可能会影响 ActiveSync 操作的 Exchange 插件。 我现在正在寻找一种快速方法来生成高负载的同步/获取操作,该方法将模拟多个 ISO/Android 设备,这些设备试图从多个邮箱同步和获取电子邮件。
它能够将 10,000 个邮箱加载到我的 Exchange 2010 SP1 服务器,但在使用 SyncKey: 1 和 Class: Email 发送请求时,我似乎无法同步任何这些邮箱。即使邮箱已装满邮件,它也总是会失败并显示未找到对象状态代码。
由于某种原因,一旦我用特定邮箱配置了真正的IOS/Android Exchange客户端,突然就可以同步该邮箱了。
有没有一种简单的方法可以在所有这 10,000 个邮箱上配置此初始状态,以便我稍后能够使用简单的同步命令(SyncKey:1 和 Class:Email)同步它们?或者您有其他想法如何生成这种负载?
这是我在发送 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>
I'm developing an Exchange plugin that may effect ActiveSync operations.
I am now looking for a quick way to generate a high load of sync/fetch operations that will simulate multiple ISO/Android devices which are tring to sync and fetch emails from multiple mailboxes.
It was able to load 10,000 mailbox to my Exchange 2010 SP1 server, but it seems I can not sync any of those mailbox when sending a request with SyncKey: 1 and Class: Email. It always fails with an object not found status code, even when the mailbox is filled with messages.
For some reason, as soon as I configured a real IOS/Android Exchange client with a specific mailbox, suddenly It is possible to sync this mailbox.
Is there an easy way to configure this initial state on all of those 10,000 mailboxes, so I would be able to sync them all later with a simple Sync command (SyncKey: 1 and Class: Email) ? Or do you have any other idea how to generate this kind of load?
Here is the response I'm getting, when sending a Sync command with 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>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
恐怕没有简单的方法可以做到这一点;客户端基本上必须执行以下操作:
FolderSync
w。SyncKey=0
获取整体文件夹结构。Sync
w。在每个文件夹上SyncKey=0
以获取其内容。具体来说,对于给定文件夹的任何操作,您始终必须返回之前的 SyncKey,从而迫使您按顺序执行操作。基本上,[MS-ASCMD] 是值得一看的地方。
(您可能还需要向服务器发送
Provision
命令才能开始。查看 [MS-ASPROV] 了解详细信息。)所以基本上,我认为您最好使用现有的客户端,该客户端要么实现更简单的 API,要么代理更可行的东西。您可以查看 DAVMail,它是一个 IMAP→EAS 代理 - 因此您“只需”实施IMAP 中的某些内容...
I'm afraid there is no easy way to do this; clients basically must go through the following:
FolderSync
w.SyncKey=0
to get the overall folder structure.Sync
w.SyncKey=0
on each of those folders to get it's contents.Specifically, you always have to return the previous
SyncKey
for any operation on a given folder, thus forcing you to do things sequentially. Basically, [MS-ASCMD] is the place to look.(You might also have to send a
Provision
-command to the server to get started. Check out [MS-ASPROV] for the details.)So basically, I think you'd be better off using an existing client that either implements a simpler API or proxies to something more workable. You could look at DAVMail, which is a IMAP→EAS proxy - thus you'd "only" have to implement something in IMAP...
你确定同步密钥是1吗?当我使用 Exchange 服务器和主动同步时,第一个真正的同步密钥始终类似于
000000000{388899F6-C5A1-4903-B638-1F5021C556BE}0
通过使用
运行同步命令来获取同步密钥同步键=0
Are you sure the sync key is 1? When I have worked with Exchange servers and active sync the first real sync key is always something like
000000000{388899F6-C5A1-4903-B638-1F5021C556BE}0
Get the synckey by running sync command with
synckey = 0