gpt4 book ai didi

java - Spring-WS 和 "Error attempting to save SOAPPart"

转载 作者:行者123 更新时间:2023-12-04 06:08:10 25 4
gpt4 key购买 nike

我在 Weblogic 10 服务器上有一些 Web 服务。这些中的每一个都是更大系统的一部分。在本地和我们的 qa 环境中运行,系统运行完美,回复速度快,符合预期。一切看起来都还好。

在投入生产之前,我们将对系统进行压力测试,从而查看在回复时间变大之前我们可以承受多少负载。在测试 Web 服务(例如,使用前端或 SOAPUI)时,我们遇到了一定的负载(例如,每秒有很多回复或类似的东西,我不确定究竟是什么触发了系统失败)我们得到了下面列出的错误。至于为什么,我一点线索也没有。几秒钟后系统再次完美回复,所以我猜这与请求的数量有关......

非常感谢任何想法或提示!我在这里迷路了,所以拜托 - 任何事情都会有所帮助。

我们正在运行:Weblogic 10.3.2、Spring 2.5.6(由于架构原因我们无法升级)、Spring-WS 1.5.9(由于架构原因我们无法升级)和 Stripes 1.5.4

<11-11-2011 08:43:58 CET> <Error> <HTTP> <BEA-101017> <[ServletContext@11242741[app:salesoverview-ws-web module:salesoverview-ws-web path:/salesoverview-ws-web spec-version:2.5], request: weblogic.servlet.internal.ServletRequestImpl@1fbbfc5[POST /salesoverview-ws-web/services HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: text/xml;charset=UTF-8 SOAPAction: "" User-Agent: Jakarta Commons-HttpClient/3.1 Content-Length: 425]] Root cause of ServletException.
org.springframework.ws.soap.saaj.SaajSoapMessageException: Could not write message to OutputStream: Error attempting to save SOAPPart. java.io.IOException: java.net.SocketException: Software caused connection abort: socket write error; nested exception is javax.xml.soap.SOAPException: Error attempting to save SOAPPart. java.io.IOException: java.net.SocketException: Software caused connection abort: socket write error
at org.springframework.ws.soap.saaj.SaajSoapMessage.writeTo(SaajSoapMessage.java:169)
at org.springframework.ws.transport.AbstractWebServiceConnection.send(AbstractWebServiceConnection.java:45)
at org.springframework.ws.transport.support.WebServiceMessageReceiverObjectSupport.handleConnection(WebServiceMessageReceiverObjectSupport.java:97)
at org.springframework.ws.transport.http.WebServiceMessageReceiverHandlerAdapter.handle(WebServiceMessageReceiverHandlerAdapter.java:57)
at org.springframework.ws.transport.http.MessageDispatcherServlet.doService(MessageDispatcherServlet.java:230)
Truncated. see log file for complete stacktrace

Caused By: javax.xml.soap.SOAPException: Error attempting to save SOAPPart. java.io.IOException: java.net.SocketException: Software caused connection abort: socket write error
at weblogic.xml.saaj.SOAPMessageImpl.SOAPPart_writeTo(SOAPMessageImpl.java:1011)
at weblogic.xml.saaj.SOAPMessageImpl.writeTo(SOAPMessageImpl.java:816)
at org.springframework.ws.soap.saaj.Saaj13Implementation.writeTo(Saaj13Implementation.java:292)
at org.springframework.ws.soap.saaj.SaajSoapMessage.writeTo(SaajSoapMessage.java:165)
at org.springframework.ws.transport.AbstractWebServiceConnection.send(AbstractWebServiceConnection.java:45)
Truncated. see log file for complete stacktrace
>

通过挖掘 BEA-101017,我从 Weblogic 错误文件中找到了一些关于 的信息 - 尽管这对我没有帮助:

Error: [context] Root cause of ServletException.

Description: [context] Root cause of ServletException, which the Web application container caught while servicing the request.

Cause: The Web application container caught an unexpected exception.

Action: Check the exception for the exact error message.

最佳答案

假设您示例中的 Web 服务不访问其他 Web 服务(因此上述跟踪对应于您的 Web 服务发送响应):

您的 Web 服务似乎通过 SAAJ 尝试写入断开连接(或以其他方式不可用)的套接字。造成这种情况的一个常见原因是客户端在等待服务器回复时断开连接。

我建议:

  • 检查您的客户端是否在收到响应之前等待的时间过长,这可能导致它断开连接。
  • 检查操作系统是否可能在分配套接字时遇到问题。使用“netstat”或其他监控工具(如 Windows 上的 TCPView)检查打开的套接字数量(大多数操作系统对每个用户或全局允许的套接字数量施加限制)。
  • 确保在您的测试期间绝对没有网络错误(如果您在本地主机上进行测试,则不应该是这种情况,否则您需要确保您的网络设备(路由器、交换机、其他计算机)没有丢失连接或数据包。也许这当流量负载高时发生。
  • 确保您没有可能导致您的 Web 服务使用或关闭其他请求的套接字的线程冲突(这将是一种罕见的情况,尤其是在您使用 Spring 时)。
  • 检查此线程 Official reasons for "Software caused connection abort: socket write error"以及“软件导致连接中止”的其他可能原因(请注意,该问题可能特定于您的应用程序服务器和操作系统)。

  • 希望有帮助。

    关于java - Spring-WS 和 "Error attempting to save SOAPPart",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8094688/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com