Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Axis2/CXF SAOP web服务接收大量内联附件_Java_Web Services_Soap_Cxf_Axis2 - Fatal编程技术网

Java Axis2/CXF SAOP web服务接收大量内联附件

Java Axis2/CXF SAOP web服务接收大量内联附件,java,web-services,soap,cxf,axis2,Java,Web Services,Soap,Cxf,Axis2,多年来,我使用基于Axis2 1.4.1的JavaSOAPWeb服务交换数据和附件;无论到目前为止,即使是大型附件,因为web服务实现了MTOM。 这一直持续到上周,当一个webservice WS客户端开始在SOAP主体(无MTOM无SwA)中以base64内联文本的形式发送巨大的附件(大约1GB)时。 我相信Axis2附件缓存特性在这种情况下也能解决问题,但事实并非如此,而且会出现OutOfMemory。 经过一些尝试后,我的理解是,只有当WS-client将附件作为MIME部分发送时,附件

多年来,我使用基于Axis2 1.4.1的JavaSOAPWeb服务交换数据和附件;无论到目前为止,即使是大型附件,因为web服务实现了MTOM。 这一直持续到上周,当一个webservice WS客户端开始在SOAP主体(无MTOM无SwA)中以base64内联文本的形式发送巨大的附件(大约1GB)时。 我相信Axis2附件缓存特性在这种情况下也能解决问题,但事实并非如此,而且会出现OutOfMemory。 经过一些尝试后,我的理解是,只有当WS-client将附件作为MIME部分发送时,附件才会缓存到磁盘(而不是保存在内存中)。如果在SOAP正文中作为base64文本发送,附件会保存在内存中

我还尝试用CXF替换Axis2(如果它是唯一的解决方案,我准备更改我的WS-framework),但我尝试了完全相同的行为

我想知道是我遗漏了什么,还是有人让我的问题找到了解决办法。 我不敢相信,只有当客户端实现MTOM时,我的Web服务才能管理大型附件

提前感谢您提出的任何可能的建议