2

Java (jaxws) の Exchange Web サービスを使用しています。これが問題です。添付ファイルを取得するには、GetAttachment ソープ コールを実行します (論理的には十分です :) )。問題は次のとおりです。添付ファイル全体が、他の情報とともに SOAP 応答の奥深くに埋め込まれた base64 パケットで返されます (添付ファイルのサイズにはアクセスできません)。その結果、添付ファイルの内容全体がメモリにバッファリングされます。潜在的に 2GB の添付ファイルがあると、Java クライアント全体がメモリ不足になる可能性があります。

EWS から添付ファイルの断片だけを取得する方法はないようです。MTOM などはサポートされていないようです。要するに、EWS にはストリーミング用の規定がないようです。

この状況を回避する唯一の方法は、非常に低レベルのプロキシがこれらの呼び出しを傍受し、コンテンツをディスクにストリーミングして、ディスク上のファイルへの「マーカー フラグ」に置き換えることです。しかし、これを行うためのエレガントな方法がないように見えますか?

何か案は

4

2 に答える 2

0

私たちはSOAPMessageHandlerを介して成功しました。現在、すべてをディスクにストリーミングし、呼び出し元はコンテンツをディスクuriとして解釈する必要があります。改善できると信じています。それにもかかわらず、それは可能です

于 2010-12-14T06:31:06.797 に答える
0

残念ながら、コンテンツをディスクに直接ストリーミングする方法はありません。

于 2010-11-14T09:38:02.517 に答える