首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring Webservicetemplate连接重置错误

Spring Webservicetemplate连接重置错误
EN

Stack Overflow用户
提问于 2015-07-09 18:50:16
回答 1查看 2.6K关注 0票数 2

我们正在使用Spring 4 WebServiceTemplate联系WCF web服务。我们发送到此web服务的项目之一是图像(JPEG格式)。对于图像稍大(大约22KB)的某些情况,我们会得到以下错误:

代码语言:javascript
复制
<pre><code>org.springframework.ws.client.WebServiceIOException: I/O error: Connection reset; nested exception is java.net.SocketException: Connection reset</pre></code>

如果我们根本不发送图像,则不会发生此错误。因此,它显然与有效负载大小有关,因为使用较小尺寸的图像或没有图像都不会出现问题。这个22KB的大小大约是其他调用期间图像大小的两倍。

我们已经尝试按照建议的hereSaajSoapMessageFactory切换到AxiomSoapMessageFactory,但结果是相同的。

代码语言:javascript
复制
class <className> extends WebServiceGatewaySupport {
      <className>() {
          super(new AxiomSoapMessageFactory());
          AxiomSoapMessageFactory messageFactory =
            (AxiomSoapMessageFactory) getMessageFactory();
          messageFactory.setPayloadCaching(false);
          ...
      }
      ...
}

有没有人知道如何解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2015-07-15 15:57:11

真正的问题不是关于SaajSoapMessageFactory或AxiomSoapMessageFactory。应用程序试图在对web服务的调用中发送Base64编码的图像字符串,在极少数情况下,该编码的字符串太长(尽管整个消息大小不足以保证AxiomSoapMessageFactory)。

当我们在we服务配置中将"Text“绑定替换为"Mtom”并在客户端代码中添加marshaller.setMtomEnabled(true)时,问题得到了解决。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31315237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档