FileAttachment上的EWS api load()linux / mono base64 decode提供了错误的输出

时间:2012-05-15 08:06:22

标签: web-services mono exchangewebservices

EWS 1.2 api,exchange 2007,windows / .net和linux / mono2.10.2

使用EWS 1.2 api从交换中提取附件会在.net / windows上产生与mono / linux上不同的结果。

文件在字节8192,16384,20480

上不同

首先在8k区块之后,然后在接下来的8k区块之后再次再次进行4k区块?!

fileAttachment.Load();

byte[] buffer = fileAttachment.Content;
Console.WriteLine(buffer[8191]); //windows -> 50  | linux -> 50
Console.WriteLine(buffer[8192]); //windows -> 9   | linux -> 59
Console.WriteLine(buffer[8193]); //windows -> 54  | linux -> 44

我把

service.TraceEnabled = true;

所以我可以看一下肥皂信息。在那里我发现内容为base64字符串。 我用this online base64 decoder在线转换了base64字符串,附件返回完美。

使用EWS API时,linux上缓冲区的大小小于Windows上的大小。

所以转换base64字符串linux / mono肯定有问题!?

1 个答案:

答案 0 :(得分:0)

是的,我对Mono 2.10.8都有同样的看法。我已经调查了一些,并提交了一个新的错误报告:https://bugzilla.xamarin.com/show_bug.cgi?id=9457