Exchange Web Services GetAttachment不会流到磁盘
问题描述:
我们正在使用来自java(jaxws)的Exchange Web服务。这是问题。要获得附件,请执行GetAttachment soap调用(足够合理:))。问题出在这里:整个附件被返回(没有附件大小的访问权限)在一个包含soap响应的base64数据包中,以及其他信息。结果整个附件内容被缓存到内存中。有了潜在的2GB附件,这可以让整个Java客户端破解内存。Exchange Web Services GetAttachment不会流到磁盘
似乎没有办法从EWS获取附件。 MTOM等似乎不被支持。简而言之,EWS似乎没有关于流式传输的规定。
解决这个问题的唯一办法,似乎是一个非常低的水平代理,以拦截这些调用,和流内容到磁盘上,用“标志旗”到磁盘上的文件替换它。但似乎没有优雅的方式来做到这一点?
任何想法
答
我们通过SOAP MessageHandler成功。现在它将所有内容都传输到磁盘,并且调用者必须将内容解释为磁盘uri。我们相信它可以得到改善。尽管如此,这是可能的
另一种选择是使用基于Java的托管API。请注意,它是与错误RIDDLED虽然 – MJB 2011-04-23 21:14:48