2010-11-11 35 views
2

我們正在使用來自java(jaxws)的Exchange Web服務。這是問題。要獲得附件,請執行GetAttachment soap調用(足夠合理:))。問題出在這裏:整個附件被返回(沒有附件大小的訪問權限)在一個包含soap響應的base64數據包中,以及其他信息。結果整個附件內容被緩存到內存中。有了潛在的2GB附件,這可以讓整個Java客戶端破解內存。Exchange Web Services GetAttachment不會流到磁盤

似乎沒有辦法從EWS獲取附件。 MTOM等似乎不被支持。簡而言之,EWS似乎沒有關於流式傳輸的規定。

解決這個問題的唯一辦法,似乎是一個非常低的水平代理,以攔截這些調用,和流內容到磁盤上,用「標誌旗」到磁盤上的文件替換它。但似乎沒有優雅的方式來做到這一點?

任何想法

回答

0

我們通過SOAP MessageHandler成功。現在它將所有內容都傳輸到磁盤,並且調用者必須將內容解釋爲磁盤uri。我們相信它可以得到改善。儘管如此,這是可能的

+0

另一種選擇是使用基於Java的託管API。請注意,它是與錯誤RIDDLED雖然 – MJB 2011-04-23 21:14:48

0

不幸的是,沒有辦法將內容直接流式傳輸到磁盤。

+0

總是有一種方法。有些人比其他人更痛苦。 – MJB 2010-11-19 18:58:26

相關問題