【发布时间】:2014-10-30 04:31:00
【问题描述】:
我们有一个在 JBoss EAP 6.0 上运行的 J2EE 应用程序,它使用来自第三方应用程序的 SOAP Web 服务。我们使用 Spring-WS 发送请求并接收响应。
对于正常和大尺寸响应,该应用程序运行良好。但是,在调用特定 Web 服务(用于报告目的)时,第三方 Web 服务发送了大约 250 MB 的响应,Java 应用程序无法处理它。事务超时并引发超时错误
下面的异常跟踪:
org.springframework.ws.client.WebServiceIOException: I/O error: Read timed out; nested exception is java.net.SocketTimeoutException: Read timed out
org.springframework.ws.client.WebServiceIOException: I/O error: Read timed out; nested exception is java.net.SocketTimeoutException: Read timed out
at org.springframework.ws.client.core.WebServiceTemplate.sendAndReceive(WebServiceTemplate.java:502)
at org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndReceive(WebServiceTemplate.java:343)
at org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndReceive(WebServiceTemplate.java:337)
at org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndReceive(WebServiceTemplate.java:329)
但是,当在离线模式下访问响应 XML 时,应用程序能够在一两分钟内处理该文件。
所以,这是我在同步(即实时)处理 SOAP 响应时的问题:
SOAP 响应的长度是否有任何限制? 由应用层(尤其是 JBoss EAP 6.0)处理 我们的案例
Spring-WS 是否对 可以处理的响应大小?
【问题讨论】:
-
您应该修改您的问题以包含有关“无法处理它”的意思的更多信息。你遇到了什么错误?
标签: xml web-services soap spring-ws jboss6.x