问题描述:
最近测试系统在Weblogic Cluster下的性能,将系统从tomcat移植到Weblogic平台,当调用web service时,后台报如下的错误。其中系统使用了JAX-WS和Spring。
1 警告: java.lang.IllegalStateException: ClusterRoutingTubeUtils weblogic.wsee.jaxws.cluster.ClusterRoutingTubeUtils@112d2404 not ready, no WseeClusterRoutingRuntimeMBean/WseeRuntimeMBean
2 java.lang.IllegalStateException: ClusterRoutingTubeUtils weblogic.wsee.jaxws.cluster.ClusterRoutingTubeUtils@112d2404 not ready, no WseeClusterRoutingRuntimeMBean/WseeRuntimeMBean
3 at weblogic.wsee.jaxws.cluster.ClusterRoutingTubeUtils.ensureSOAPRouter(ClusterRoutingTubeUtils.java:87)
4 at weblogic.wsee.jaxws.cluster.ClusterRoutingTubeUtils.handleInboundMessage(ClusterRoutingTubeUtils.java:95)
5 at weblogic.wsee.jaxws.cluster.ClusterRoutingServerTube.processRequest(ClusterRoutingServerTube.java:70)
6 at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:866)
7 at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:815)
8 at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:778)
9 at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:680)
10 at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:403)
11 at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:532)
12 at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:253)
13 at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:141)
14 at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doGet(WSServletDelegate.java:129)
15 at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doPost(WSServletDelegate.java:161)
16 at com.sun.xml.ws.transport.http.servlet.WSServlet.doPost(WSServlet.java:75)
17 at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
18 at javax.servlet.http.HttpServlet.service(HttpServlet.java:821)
19 at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
20 at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
21 at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
22 at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:27)
23 at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
24 at com.cccis.online.framework.security.ExpiredUserFilter.doFilter(ExpiredUserFilter.java:89)
25 at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
解决办法:
我们使用的是Weblogic 10.3.5.0,由于在tomcat上运行正常,所以猜测可能是weblogic的bug或者是cluster下我们程序本身的问题。在网上搜索一番后发现,这是由于weblogic的bug导致的,应该下载weblogic patch:patch 9KA3。
具体请参考:https://forums.oracle.com/forums/message.jspa?messageID=9348956#9348956