Web services WebLogic服务器中的线程卡住

Web services WebLogic服务器中的线程卡住,web-services,weblogic,webservice-client,Web Services,Weblogic,Webservice Client,当我们进行Web服务API调用时,有时我们得不到响应。我们的线程正在等待响应,没有返回错误。在web服务请求中使用com.sun.xml.ws.request.timeout参数指定超时。但是,在这种情况下,超时不起作用 环境详情: Application server: Weblogic Operating System: Linux Web services API: Metro 有人知道这个问题吗 堆栈跟踪: "DefaultQuartzScheduler_Worker-88" RUNN

当我们进行Web服务API调用时,有时我们得不到响应。我们的线程正在等待响应,没有返回错误。在web服务请求中使用
com.sun.xml.ws.request.timeout
参数指定超时。但是,在这种情况下,超时不起作用

环境详情:

Application server: Weblogic
Operating System: Linux
Web services API: Metro
有人知道这个问题吗

堆栈跟踪:

"DefaultQuartzScheduler_Worker-88" RUNNABLE native
java.net.SocketInputStream.socketRead0(Native Method)
java.net.SocketInputStream.read(SocketInputStream.java:129)
weblogic.utils.io.ChunkedInputStream.read(ChunkedInputStream.java:159)
java.io.InputStream.read(InputStream.java:89)
com.certicom.tls.record.ReadHandler.readFragment(Unknown Source)
com.certicom.tls.record.ReadHandler.readRecord(Unknown Source)
com.certicom.tls.record.ReadHandler.read(Unknown Source)
com.certicom.io.InputSSLIOStreamWrapper.read(Unknown Source)
java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
java.io.BufferedInputStream.read(BufferedInputStream.java:235)
weblogic.net.http.MessageHeader.isHTTP(MessageHeader.java:220)
weblogic.net.http.MessageHeader.parseHeader(MessageHeader.java:143)
weblogic.net.http.HttpClient.parseHTTP(HttpClient.java:463)
weblogic.net.http.HttpURLConnection.getInputStream(HttpURLConnection.java:357)
weblogic.net.http.SOAPHttpsURLConnection.getInputStream(SOAPHttpsURLConnection.java:37)
weblogic.net.http.HttpURLConnection.getResponseCode(HttpURLConnection.java:945)
com.sun.xml.ws.transport.http.client.HttpClientTransport.readResponseCodeAndMessage(HttpClientTransport.java:209)
com.sun.xml.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:160)
com.sun.xml.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:93)
com.sun.xml.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:116)
com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:598)
com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:557)
com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:542)
com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:439)
com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process(AbstractTubeImpl.java:112)
com.sun.xml.xwss.XWSSClientPipe.process(XWSSClientPipe.java:154)
com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:115)
com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:598)
com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:557)
com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:542)
com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:439)
com.sun.xml.ws.client.Stub.process(Stub.java:222)
com.sun.xml.ws.client.sei.SEIStub.doProcess(SEIStub.java:135)
com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:109)
com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:89)
com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:118)
$Proxy87.getMapping(Unknown Source)

堆栈跟踪显示在客户端和web服务之间打开了套接字。正在进行一些读取,即数据传输,但可能需要很长时间

客户端是在Weblogic上还是web服务托管在Weblogic上,或者两者都托管

你能查一下netstat-an | grep吗

它是否显示处于已建立状态的套接字?或者其他一些状态,如时间等待或关闭等待

您配置卡滞线程超时多长时间了?
默认值为600秒,因此此操作是否需要10分钟以上?

堆栈跟踪显示客户端和web服务之间的套接字已打开。正在进行一些读取,即数据传输,但可能需要很长时间

客户端是在Weblogic上还是web服务托管在Weblogic上,或者两者都托管

你能查一下netstat-an | grep吗

它是否显示处于已建立状态的套接字?或者其他一些状态,如时间等待或关闭等待

您配置卡滞线程超时多长时间了? 默认值为600秒,因此此操作是否需要10分钟以上?

尝试添加“com.sun.xml.ws.connect.timeout”

这两个属性也以常量形式提供: com.sun.xml.ws.client.BindingProviderProperties.REQUEST\u超时 com.sun.xml.ws.client.BindingProviderProperties.CONNECT\u超时

确保不使用内部导入,它在WebLogic上无法工作。

尝试添加“com.sun.xml.ws.connect.timeout”

这两个属性也以常量形式提供: com.sun.xml.ws.client.BindingProviderProperties.REQUEST\u超时 com.sun.xml.ws.client.BindingProviderProperties.CONNECT\u超时


请确保不使用内部导入,它在WebLogic上无法工作。

客户端和webservices服务器都托管在WebLogic中。我们将超时值设置为3000秒,但线程被卡住了数天。客户端和webservices服务器都托管在Weblogic中。我们将超时值设置为3000秒,但是线程被卡住了几天。