Java (jaxws) の Exchange Web サービスを使用しています。これが問題です。添付ファイルを取得するには、GetAttachment ソープ コールを実行します (論理的には十分です :) )。問題は次のとおりです。添付ファイル全体が、他の情報とともに SOAP 応答の奥深くに埋め込まれた base64 パケットで返されます (添付ファイルのサイズにはアクセスできません)。その結果、添付ファイルの内容全体がメモリにバッファリングされます。潜在的に 2GB の添付ファイルがあると、Java クライアント全体がメモリ不足になる可能性があります。
EWS から添付ファイルの断片だけを取得する方法はないようです。MTOM などはサポートされていないようです。要するに、EWS にはストリーミング用の規定がないようです。
この状況を回避する唯一の方法は、非常に低レベルのプロキシがこれらの呼び出しを傍受し、コンテンツをディスクにストリーミングして、ディスク上のファイルへの「マーカー フラグ」に置き換えることです。しかし、これを行うためのエレガントな方法がないように見えますか?
何か案は