WebSphere 应用程序服务器中的 MTOM 附件大小限制
MTOM attachment size limit in WebSphere application server
我有一个启用了 MTOM 的 Web 服务,它从面向客户端的应用程序接收二进制附件作为消息负载的一部分。该服务部署在 WebSphere 应用程序服务器上。没有适当的 SOAP 消息处理程序。但是,我碰巧注意到大小超过 10 MB 的附件被服务器丢弃或未被处理。基本上,WebSphere 将临时附件存储在文件扩展名为 *.att 的“IBMTmpCD”文件夹中。在服务尝试从数据处理程序获取输入流时的逻辑中,抛出文件未找到异常。因此,无法创建 BLOB,从而进一步导致问题。
我的问题是是否有 Web 服务代理设置或任何其他控制 MTOM 附件大小限制的设置。我在服务实现上使用具有默认值的 MTOM 注释。如果客户端应用程序发送的附件大小小于 10 MB,则一切正常;但是当任何大于 10 MB 的附件似乎被服务器阻止或未被处理时。我还使用 TCP/IP 监视器监视 SOAP 消息,MTOM 附件消息按预期正确形成。
此外,如果我禁用 MTOM,则大于 10MB 的附件将被服务器成功接收和处理。
环境:
Java 7
WebSphere 8.5
非常感谢对此问题的任何帮助。
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>
根据下面的评论,这不再是问题。是业务逻辑的并发问题
我有一个启用了 MTOM 的 Web 服务,它从面向客户端的应用程序接收二进制附件作为消息负载的一部分。该服务部署在 WebSphere 应用程序服务器上。没有适当的 SOAP 消息处理程序。但是,我碰巧注意到大小超过 10 MB 的附件被服务器丢弃或未被处理。基本上,WebSphere 将临时附件存储在文件扩展名为 *.att 的“IBMTmpCD”文件夹中。在服务尝试从数据处理程序获取输入流时的逻辑中,抛出文件未找到异常。因此,无法创建 BLOB,从而进一步导致问题。
我的问题是是否有 Web 服务代理设置或任何其他控制 MTOM 附件大小限制的设置。我在服务实现上使用具有默认值的 MTOM 注释。如果客户端应用程序发送的附件大小小于 10 MB,则一切正常;但是当任何大于 10 MB 的附件似乎被服务器阻止或未被处理时。我还使用 TCP/IP 监视器监视 SOAP 消息,MTOM 附件消息按预期正确形成。
此外,如果我禁用 MTOM,则大于 10MB 的附件将被服务器成功接收和处理。
环境: Java 7 WebSphere 8.5
非常感谢对此问题的任何帮助。
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>
根据下面的评论,这不再是问题。是业务逻辑的并发问题