在同一 bean 上使用 EJB 和 JAXWS 时,weblogic 12cR2 烦人的日志

weblogic 12cR2 annoying log when using EJB and JAXWS at the same bean

我有一个 Java EE 项目 (MyProject),其中包含一个 EJB 项目 (MyEJB) 我创建了一个会话 bean (Stateless),它也是我的 Web 服务 class (ServiceAddTEST)。容器是weblogic 12.2.1。 一切顺利,但是当我在 weblogic 的控制台中调用 Web 服务时,显示以下消息:

<Mar 6, 2016 6:30:35 PM IRST> <Error> <Kernel> <BEA-000802> <ExecuteRequest failed
 java.lang.IllegalStateException: Context pushed was [(pId = 0, pName = DOMAIN, appId = MyProject, appName = MyProject, appVersion = null, mId = /ServiceAddTEST, compName = /ServiceAddTEST)], but context being popped is [(pId = 0, pName = DOMAIN, appId = MyProject, appName = MyProject, appVersion = null, mId = MyEJB, compName = ServiceAddTEST)].
java.lang.IllegalStateException: Context pushed was [(pId = 0, pName = DOMAIN, appId = MyProject, appName = MyProject, appVersion = null, mId = /ServiceAddTEST, compName = /ServiceAddTEST)], but context being popped is [(pId = 0, pName = DOMAIN, appId = MyProject, appName = MyProject, appVersion = null, mId = MyEJB, compName = ServiceAddTEST)]
        at weblogic.application.ComponentInvocationContextManagerImpl.validate(ComponentInvocationContextManagerImpl.java:256)
        at weblogic.application.ComponentInvocationContextManagerImpl.close(ComponentInvocationContextManagerImpl.java:231)
        at weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:352)
        at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:333)
        at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:54)
        Truncated. see log file for complete stacktrace
>

但是,Web 服务运行良好。我想解决这个问题以摆脱这个日志,我认为它可能会在以后引起一些问题。 此外,日志文件中没有任何额外信息。下面是 class:

的代码
@Stateless
@WebService
public class ServiceAddTEST {


    @WebMethod
    public int getCount(){
        return 20;
    }

关于环境:

找了很久这个问题,最后发现可能是weblogic12cR2的bug,因为场景很简单。看到这个 link。 我决定降级 weblogic,现在我使用的是 Weblogic 12.1.2,它工作正常。

此问题将在版本 12.2.2.1.0 中修复为 claimed here

编辑

已通过 patch 22648025 的应用程序修复(您需要一个 Oracle 支持帐户才能获得它)