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 文字列として見つかります。このオンライン base64 デコーダーを使用して base64 文字列をオンラインで変換したところ、添付ファイルが完全に返されました。
EWS API を使用する場合、Linux のバッファーのサイズは Windows よりも小さくなります。
つまり、base64 文字列の linux/mono の変換に何か問題があるに違いありません!?