gpt4 book ai didi

java - JAX-WS Web 服务在客户端上收到 400 Bad Request 错误,在服务器上收到 Broken Pipe 错误以进行长时间操作

转载 作者:行者123 更新时间:2023-11-28 23:36:54 25 4
gpt4 key购买 nike

我有一个基于 Java 的客户端,它通过 JAX-WS 从 Tomcat 6.0.24 服务器 web 应用程序接收数据。我最近使用新功能升级了服务器,某些输入可能需要很长时间(超过 30 秒)才能运行。

事实证明,对于这些长时间的操作,发生了某种超时。客户端收到 HTTP 400 Bad Request 错误,不久之后(至少根据我的日志时间戳)服务器报告 Broken Pipe。

这是客户端的错误信息:

com.sun.xml.internal.ws.client.ClientTransportException: The server sent HTTP status code 400: Bad Request

和服务器的:

javax.xml.ws.WebServiceException: javax.xml.stream.XMLStreamException: ClientAbortException:  java.net.SocketException: Broken pipe

我已经尝试在服务的 BindingProvider 上添加超时设置,但这似乎没有任何改变。默认超时应该是无限的,对吧?

我不知道它是否相关,但可能值得注意的是客户端是在 Karaf OSGI 框架中运行的 OSGI 包。

最重要的是,我不知道这里发生了什么。请注意,新功能确实在不需要运行太长时间时起作用。另请注意,新功能响应的大小并没有比平时大多少——只是需要更长的计算时间。

最佳答案

最终,问题是由服务器公共(public)网关上的某种反 DoS 措施引起的。不幸的是,IT 部门拒绝修复它,迫使我切换到基于轮询的通信。好吧。

关于java - JAX-WS Web 服务在客户端上收到 400 Bad Request 错误,在服务器上收到 Broken Pipe 错误以进行长时间操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23891035/

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