1

我一直在尝试构建一个与 MS-ActiveSync Exchange 通信的应用程序。我被困在供应部分。我需要在正文中发送带有 WBXML 内容的 post HTTP 请求。但是我在任何地方都找不到将 xml 转换为 wbxml 以进行主动同步的任何东西。

有一些基于 C 的库可用,例如 wbxml2,但我可以将它们用于主动同步吗?如 MS-Activesync Exchange 文档中所述,库中没有提供代码页。请帮忙!!!

4

2 回答 2

0

使用 libwbxml。该包有 xml2wbxml 和 wbxml2xml。包括代码页。

将此保存为 prov.xml:

<?xml version="1.0"?>
<!DOCTYPE ActiveSync PUBLIC "-//MICROSOFT//DTD ActiveSync//EN" "http://www.microsoft.com/">
<Provision xmlns="Provision:">
<Policies>
<Policy>
<PolicyType>MS-WAP-Provisioning-XML</PolicyType>
</Policy></Policies></Provision>

然后:

xml2wbxml -a prov.xml -o prov.wbxml

您可以将 wbxml 作为文本进行操作。在https://code.google.com/p/tz-push/

在 JavaScript 中:

 prov.wbxml = string.fromCharCode(0x03,0x01,0x6A,0x00,0x00,0x0E,0x45,0x46,0x47,0x48,0x03,0x4D,0x53,0x2D,0x57,0x41,0x50,0x2D,0x50,0x72,0x6F,0x76,0x69,0x73,0x69,0x6F,0x6E,0x69,0x6E,0x67,0x2D,0x58,0x4D,0x4C,0x00,0x01,0x01,0x01,0x01)
于 2013-10-09T18:05:15.383 回答
0

wbxml2xml 和 xml2wbxml 是包含在 libwbxml 中的命令行程序。我对IOS开发一无所知。

看看https://tz-push.googlecode.com/files/towbxml.js它是用 js 编写的 xml 到 wbxml 转换器。(可以在 Thunderbird/Workspace 或 Firefox/Sratchpad 中运行。)我知道这不是您想要的,但代码可能会为您指明正确的方向。它使用萨克斯。所以如果你有一个可用的 sax 解析器应该很容易移植。

于 2013-10-12T15:06:14.350 回答