首页 > 解决方案 > WebSphere 应用程序服务器中的 MTOM 附件大小限制

问题描述

我有一个启用了 MTOM 的 Web 服务,它从面向客户端的应用程序接收二进制附件作为消息有效负载的一部分。该服务部署在 WebSphere 应用程序服务器上。没有 SOAP 消息处理程序。但是,我碰巧注意到大小超过 10 MB 的附件正在被服务器丢弃或未处理。基本上,WebSphere 将临时附件存储在带有 *.att 文件扩展名的“IBMTmpCD”文件夹中。在服务尝试从 Data Handler 抓取输入流的逻辑中,抛出 File Not found Exception。因此,不会创建进一步导致问题的 BLOB。

我的问题是是否有控制 MTOM 附件大小限制的 Web 服务代理设置或任何其他设置。我在服务实现上使用带有默认值的 MTOM 注释。如果客户端应用程序发送大小小于 10 MB 的附件,则一切正常;但是当任何大于 10 MB 的附件似乎被服务器阻止或未处理时。我还使用 TCP/IP 监视器监视了 SOAP 消息,MTOM 附件消息按预期正确形成。

此外,如果我禁用 MTOM,则服务器会成功接收和处理大于 10MB 的附件。

环境:Java 7 WebSphere 8.5

非常感谢您对此问题的任何帮助。

标签: javawebservicewebspheremtom

解决方案


10 MB 可能是集群默认文件上传大小。

如果我没记错的话,您可以覆盖 web.xml 中的值尝试类似(不确定这些值)

<multipart-config>
   <max-file-size>52428800</max-file-size>
   <max-request-size>52428800</max-request-size>
   <file-size-threshold>0</file-size-threshold>
</multipart-config>

推荐阅读