我们正在使用Spring 4
的WebServiceTemplate
与一个WCF
网络服务进行联系。我们向这个网络服务发送的其中一个项目是图像(JPEG格式)。对于一些稍微大一点的图像(约22KB),我们会遇到以下错误:
<pre><code>org.springframework.ws.client.WebServiceIOException: I/O error: Connection reset; nested exception is java.net.SocketException: Connection reset</pre></code>
如果我们根本不发送图片,就不会出现这个错误。因此,很明显这与有效负载大小有关,因为使用较小尺寸的图片或没有图片时就不会出现问题。22KB的大小大约是其他调用期间图像大小的两倍。
我们已经尝试切换从
SaajSoapMessageFactory
到AxiomSoapMessageFactory
,正如此处所建议的,但结果相同。class <className> extends WebServiceGatewaySupport {
<className>() {
super(new AxiomSoapMessageFactory());
AxiomSoapMessageFactory messageFactory =
(AxiomSoapMessageFactory) getMessageFactory();
messageFactory.setPayloadCaching(false);
...
}
...
}
有人知道如何修复这个问题吗?