Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.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 SpringWeb服务框架中的流式MTOMWeb服务_Java_Soap_Spring Ws_Mtom - Fatal编程技术网

Java SpringWeb服务框架中的流式MTOMWeb服务

Java SpringWeb服务框架中的流式MTOMWeb服务,java,soap,spring-ws,mtom,Java,Soap,Spring Ws,Mtom,我想使用MTOM和SpringWS将大型文件从服务器发送到客户端。我意识到这不是解决这类问题的最佳方法,但这是一个要求。我已经设置了MTOM,它对于50mb左右的小文件非常有效。我遇到了较大文件的内存不足错误,通过更改不同的堆空间大小,我可以发送稍大的文件,但没有接近1gb的文件。1GB是我的测试用例。如何将MTOM服务从服务器流式传输或分块到客户端?我在SaajSoapMessageFactory中使用Java6Update17、Tomcat6和SpringWS1.5.7 我发现了一个使用ja

我想使用MTOM和SpringWS将大型文件从服务器发送到客户端。我意识到这不是解决这类问题的最佳方法,但这是一个要求。我已经设置了MTOM,它对于50mb左右的小文件非常有效。我遇到了较大文件的内存不足错误,通过更改不同的堆空间大小,我可以发送稍大的文件,但没有接近1gb的文件。1GB是我的测试用例。如何将MTOM服务从服务器流式传输或分块到客户端?我在SaajSoapMessageFactory中使用Java6Update17、Tomcat6和SpringWS1.5.7

我发现了一个使用jax-ws的流式处理示例,但我不确定如何将其合并到springws端点中


昨天,我在上传大文件时遇到了同样的问题。我终于找到了解决办法。SpringWS有一个定制的Axiom消息工厂,名为
org.springframework.WS.soap.Axiom.AxiomSoapMessageFactory
,它可以在上载大文件时使用文件而不是内存中的文件。在配置中要做的唯一更改是使用自定义属性定义bean

<bean id="messageFactory" class="org.springframework.ws.soap.axiom.AxiomSoapMessageFactory">
    <property name="payloadCaching" value="false" />
    <property name="attachmentCaching" value="true" />
    <property name="attachmentCacheThreshold" value="1024"/>
</bean>


一旦在类路径中有了这个配置和Axiom类,SpringWS就会自动使用临时文件来承载大型文档上传

这个运气好吗?我仍然在努力解决这个问题……我使用Axis2 1.5.1解决了客户端的问题。我相信它也使用了axiom。使用MTOM、spring和websphere进行大文件上传的最佳组合/方法是什么?SAAJ或AXIOM或JAX-WS或CXF或http客户端?还有其他更好的吗?在性能、内存使用和上传时间方面,性能更好@Danpolite请对此展开讨论,您能否提供一个客户端上载的示例