none
ActiveSync AirSync WBXML output RRS feed

  • Question

  • Hi all. I was hoping somebody would please be able to help me with some ActiveSync work that I'm currently looking at. I have setup ActiveSync with a Windows Mobile Emulator 6.5 and have perfomed a sync of a single Exchange 2010 Calendar item. Using the verbose logging I can see the HTTP response which contains WBXML as the HTTP body. The code snippet that I am interested in is shown below:

    <B:Body>
    <B:Type>3</B:Type>
    <B:EstimatedDataSize>348</B:EstimatedDataSize>
    <B:Data>/wAAAH0BAABMWkZ10GIXb2EACmZiaWQEAABjY8BwZzEyNTIA9AH3JwKkA+MCAGNoCsBzZXh0MCAHbQKDAFAQHTJ/BgAGwwKDDsAD1AqBEIlhtmgDcQKAfQqACMg7CWL8MTkOwAnDFzIKMhcxFuN3CawCgBYiKgmwCfAEkGFOdAWyDlADYHNvAYAgtEV4EJFuGiAGUnYEkKsZpgIQcgDAdAhQbhwhmnQEkCAFoB1UZCADUrAgaHRtAnEKgXYIkOR3awuAZDUfQwTwB0ANGDAwCnEZ4mJrbWsGcwGQACAgQk1fQmBFR0lOfQr5FBNsfHRyEJAI0BQzAdAhoE8YRFkzFgIkwA==</B:Data>
    </B:Body>

    According to the AirSyncBase Protocol specification document, this means that the data part is base64 encoded RTF data. I want to change this data into a format that I can read but here is where I'm having difficulties. I have base64 decoded the data but this does not appear to be valid RTF. Can anyone please advise about how I would go about achieving this? Thanks in advance.

    Thursday, July 28, 2011 10:52 AM

Answers

  • $ echo "/wAAAH0BAABMWkZ10GIXb2EACmZiaWQEAABjY8BwZzEyNTIA9AH3JwKkA+MCAGNoCsBzZXh0MCAHbQKDAFAQHTJ/BgAGwwKDDsAD1AqBEIlhtmgDcQKAfQqACMg7CWL8MTkOwAnDFzIKMhcxFuN3CawCgBYiKgmwCfAEkGFOdAWyDlADYHNvAYAgtEV4EJFuGiAGUnYEkKsZpgIQcgDAdAhQbhwhmnQEkCAFoB1UZCADUrAgaHRtAnEKgXYIkOR3awuAZDUfQwTwB0ANGDAwCnEZ4mJrbWsGcwGQACAgQk1fQmBFR0lOfQr5FBNsfHRyEJAI0BQzAdAhoE8YRFkzFgIkwA==" | base64 --decode | od -t x1
    0000000 ff 00 00 00 7d 01 00 00 4c 5a 46 75 d0 62 17 6f
    0000020 61 00 0a 66 62 69 64 04 00 00 63 63 c0 70 67 31
    0000040 32 35 32 00 f4 01 f7 27 02 a4 03 e3 02 00 63 68
    0000060 0a c0 73 65 78 74 30 20 07 6d 02 83 00 50 10 1d
    0000100 32 7f 06 00 06 c3 02 83 0e c0 03 d4 0a 81 10 89
    0000120 61 b6 68 03 71 02 80 7d 0a 80 08 c8 3b 09 62 fc
    0000140 31 39 0e c0 09 c3 17 32 0a 32 17 31 16 e3 77 09
    0000160 ac 02 80 16 22 2a 09 b0 09 f0 04 90 61 4e 74 05
    0000200 b2 0e 50 03 60 73 6f 01 80 20 b4 45 78 10 91 6e
    0000220 1a 20 06 52 76 04 90 ab 19 a6 02 10 72 00 c0 74
    0000240 08 50 6e 1c 21 9a 74 04 90 20 05 a0 1d 54 64 20
    0000260 03 52 b0 20 68 74 6d 02 71 0a 81 76 08 90 e4 77
    0000300 6b 0b 80 64 35 1f 43 04 f0 07 40 0d 18 30 30 0a
    0000320 71 19 e2 62 6b 6d 6b 06 73 01 90 00 20 20 42 4d
    0000340 5f 42 60 45 47 49 4e 7d 0a f9 14 13 6c 7c 74 72
    0000360 10 90 08 d0 14 33 01 d0 21 a0 4f 18 44 59 33 16
    0000400 02 24 c0
    0000403
    


    Looking at the output, that is compressed RTF (the bytes at offset 8 are the RTF compression protocol signature). So you need to decode it in accordance with [MS-OXRTFCP], which you can find at http://msdn.microsoft.com/en-us/library/cc463890%28v=exchg.80%29.aspx

    Brad

     

    Thursday, July 28, 2011 10:03 PM

All replies

  • Hi TurnItOffAndOnAgain,

     

    Thanks for your inquiry.

     

    Someone from our team will contact you shortly.

     

    Regards,

     

     


    SEBASTIAN CANEVARI - MSFT Escalation Engineer Protocol Documentation Team
    Thursday, July 28, 2011 1:48 PM
  • $ echo "/wAAAH0BAABMWkZ10GIXb2EACmZiaWQEAABjY8BwZzEyNTIA9AH3JwKkA+MCAGNoCsBzZXh0MCAHbQKDAFAQHTJ/BgAGwwKDDsAD1AqBEIlhtmgDcQKAfQqACMg7CWL8MTkOwAnDFzIKMhcxFuN3CawCgBYiKgmwCfAEkGFOdAWyDlADYHNvAYAgtEV4EJFuGiAGUnYEkKsZpgIQcgDAdAhQbhwhmnQEkCAFoB1UZCADUrAgaHRtAnEKgXYIkOR3awuAZDUfQwTwB0ANGDAwCnEZ4mJrbWsGcwGQACAgQk1fQmBFR0lOfQr5FBNsfHRyEJAI0BQzAdAhoE8YRFkzFgIkwA==" | base64 --decode | od -t x1
    0000000 ff 00 00 00 7d 01 00 00 4c 5a 46 75 d0 62 17 6f
    0000020 61 00 0a 66 62 69 64 04 00 00 63 63 c0 70 67 31
    0000040 32 35 32 00 f4 01 f7 27 02 a4 03 e3 02 00 63 68
    0000060 0a c0 73 65 78 74 30 20 07 6d 02 83 00 50 10 1d
    0000100 32 7f 06 00 06 c3 02 83 0e c0 03 d4 0a 81 10 89
    0000120 61 b6 68 03 71 02 80 7d 0a 80 08 c8 3b 09 62 fc
    0000140 31 39 0e c0 09 c3 17 32 0a 32 17 31 16 e3 77 09
    0000160 ac 02 80 16 22 2a 09 b0 09 f0 04 90 61 4e 74 05
    0000200 b2 0e 50 03 60 73 6f 01 80 20 b4 45 78 10 91 6e
    0000220 1a 20 06 52 76 04 90 ab 19 a6 02 10 72 00 c0 74
    0000240 08 50 6e 1c 21 9a 74 04 90 20 05 a0 1d 54 64 20
    0000260 03 52 b0 20 68 74 6d 02 71 0a 81 76 08 90 e4 77
    0000300 6b 0b 80 64 35 1f 43 04 f0 07 40 0d 18 30 30 0a
    0000320 71 19 e2 62 6b 6d 6b 06 73 01 90 00 20 20 42 4d
    0000340 5f 42 60 45 47 49 4e 7d 0a f9 14 13 6c 7c 74 72
    0000360 10 90 08 d0 14 33 01 d0 21 a0 4f 18 44 59 33 16
    0000400 02 24 c0
    0000403
    


    Looking at the output, that is compressed RTF (the bytes at offset 8 are the RTF compression protocol signature). So you need to decode it in accordance with [MS-OXRTFCP], which you can find at http://msdn.microsoft.com/en-us/library/cc463890%28v=exchg.80%29.aspx

    Brad

     

    Thursday, July 28, 2011 10:03 PM
  • Excellent, thanks a lot for that Brad.
    Friday, July 29, 2011 10:15 AM
  • No problem. However can you mark the "answer" if that resolves your problem?

    Brad

     

    Friday, July 29, 2011 10:39 AM
  • Thank you for that response Brad.

    Tuesday, August 2, 2011 2:10 PM