java - Exchange Web 服务 GetAttachment 不会流式传输到磁盘

标签 java soap jax-ws exchange-server exchangewebservices

我们正在使用来自 java (jaxws) 的 Exchange Web 服务。这就是问题所在。要获取附件,请执行 GetAttachment soap 调用(足够合乎逻辑:))。这就是问题所在:整个附件(无法访问附件大小)在一个 base64 数据包中返回,该数据包与其他信息一起隐藏在 soap 响应的深处。结果,整个附件内容被缓冲到内存中。对于潜在的 2GB 附件,这可能会使整个 Java 客户端内存不足。

似乎无法从 EWS 中获取附件片段。似乎不支持 MTOM 等。简而言之,EWS 中似乎没有关于流媒体的规定。

解决这种情况的唯一方法似乎是一个非常低级的代理来拦截这些调用,并将内容流式传输到磁盘,用磁盘上文件的“标记标志”替换它。但是似乎没有优雅的方法来做到这一点?

任何想法

最佳答案

不幸的是,不,没有办法将内容直接流式传输到磁盘。

关于java - Exchange Web 服务 GetAttachment 不会流式传输到磁盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4158022/

相关文章:

Java Jolt bazaarvoice 嵌套数组

java - JAX-WS WSDL 看起来很奇怪

java - 使用 log4j 的 WebSphere 7 JAX-WS 日志 Soap 消息

tomcat - JAX-WS:带有大附件的 OutOfMemory + ChainHandler

java - Glassfish 登录 JSF 页面

java - 在 IST 时区 java 中生成时间戳

android - 使用 OkHttp 库 Android 发出 SOAP 请求

macos - 如何让 AppleScript SOAP 与现有的 SOAP 网络服务一起工作(例如 W3Schools 的CelsiusToFarenheit 示例)?

java - 在提供 Maven Artifact 的 Wildfly 部署中使用 CXF 库

java - 基于字符串加载图片