ZK - Open Source Ajax Java FrameworkZK - Open Source Ajax Java Framework

ZK6 fail to start with Weblogic 11g/12c

namnv
8 Feb 2012 09:55:37 GMT
8 Feb 2012 09:55:37 GMT

Dear all,

It's OK when develope and deploy ZK5 app in Weblogic env (Eclipse/ZK studio) but I encountered problem when start ZK6 application in Weblogic 11g/12c. It seam to caused by class loader when miss use web-fragment.xml in zk.jar/META-INF.

Any one fixed this case?

Feb 8, 2012 4:40:19 PM weblogic.wsee.persistence.StoreCleaner <init>
INFO: StoreCLeaner created for <StoreConnection> : storeName = WseeJaxwsFileStore connectionName = weblogic.wsee.reliability2.store.SourceSequenceStore with interval=600000 msecs, maxObjectLifetime=86400000 msecs maxIdleTimeMillis=-1 msecs with disabled = false
Feb 8, 2012 4:40:19 PM weblogic.wsee.persistence.StoreCleaner startCleanup
INFO: StoreCLeaner starting for <StoreConnection> : storeName = WseeJaxwsFileStore connectionName = weblogic.wsee.reliability2.store.SourceSequenceStore with interval=600000 msecs, maxObjectLifetime=86400000 msecs maxIdleTimeMillis=-1 msecs with disabled = false
Feb 8, 2012 4:40:19 PM weblogic.wsee.persistence.StoreCleaner <init>
INFO: StoreCLeaner created for <StoreConnection> : storeName = WseeJaxwsFileStore connectionName = weblogic.wsee.reliability2.store.DestinationSequenceStore with interval=600000 msecs, maxObjectLifetime=86400000 msecs maxIdleTimeMillis=-1 msecs with disabled = false
Feb 8, 2012 4:40:19 PM weblogic.wsee.persistence.StoreCleaner startCleanup
INFO: StoreCLeaner starting for <StoreConnection> : storeName = WseeJaxwsFileStore connectionName = weblogic.wsee.reliability2.store.DestinationSequenceStore with interval=600000 msecs, maxObjectLifetime=86400000 msecs maxIdleTimeMillis=-1 msecs with disabled = false
<Feb 8, 2012 4:40:38 PM GMT+07:00> <Error> <Munger> <BEA-2156200> <Unable to load descriptor weblogic.utils.classloaders.GenericClassLoader@2765bc finder: weblogic.utils.classloaders.CodeGenClassFinder@12a0ed4 annotation: _auto_generated_ear_@/WEB-INF/lib/zk.jar!/META-INF/web-fragment.xml of module MyZK6. The error is weblogic.descriptor.DescriptorException: Unmarshaller failed
at weblogic.descriptor.internal.MarshallerFactory$1.createDescriptor(MarshallerFactory.java:161)
at weblogic.descriptor.BasicDescriptorManager.createDescriptor(BasicDescriptorManager.java:325)
at weblogic.application.descriptor.AbstractDescriptorLoader2.getDescriptorBeanFromReader(AbstractDescriptorLoader2.java:803)
at weblogic.application.descriptor.AbstractDescriptorLoader2.createDescriptorBean(AbstractDescriptorLoader2.java:410)
at weblogic.application.descriptor.AbstractDescriptorLoader2.loadDescriptorBeanWithoutPlan(AbstractDescriptorLoader2.java:774)
at weblogic.application.descriptor.AbstractDescriptorLoader2.loadDescriptorBean(AbstractDescriptorLoader2.java:783)
at weblogic.servlet.internal.fragment.WebFragmentLoader.getWebFragmentBean(WebFragmentLoader.java:36)
at weblogic.servlet.internal.fragment.WebFragmentManager.prepareForTopologicalSort(WebFragmentManager.java:163)
at weblogic.servlet.internal.fragment.WebFragmentManager.sortRelatively(WebFragmentManager.java:151)
at weblogic.servlet.internal.fragment.WebFragmentManager.sortFragments(WebFragmentManager.java:108)
at weblogic.servlet.internal.fragment.WebFragmentManager.<init>(WebFragmentManager.java:53)
at weblogic.servlet.internal.fragment.WebFragmentManager.<init>(WebFragmentManager.java:42)
at weblogic.servlet.internal.WebAppModule.initWebFragmentManager(WebAppModule.java:592)
at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:716)
at weblogic.application.internal.flow.ScopedModuleDriver.prepare(ScopedModuleDriver.java:188)
at weblogic.application.internal.ExtensibleModuleWrapper.prepare(ExtensibleModuleWrapper.java:83)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:100)
at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:172)
at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:167)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:35)
at weblogic.application.internal.flow.ModuleStateDriver.prepare(ModuleStateDriver.java:38)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:139)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:55)
at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:706)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:35)
at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:237)
at weblogic.application.internal.EarDeployment.prepare(EarDeployment.java:61)
at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:158)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:60)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:207)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:96)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:229)
at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:747)
at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1216)
at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:250)
at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:159)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:171)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:13)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:46)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
Caused by: com.bea.xml.XmlException: failed to load java type corresponding to e=web-fragment
at com.bea.staxb.runtime.internal.UnmarshalResult.getPojoBindingType(UnmarshalResult.java:371)
at com.bea.staxb.runtime.internal.UnmarshalResult.determineTypeForGlobalElement(UnmarshalResult.java:326)
at com.bea.staxb.runtime.internal.UnmarshalResult.determineTypeForGlobalElement(UnmarshalResult.java:336)
at com.bea.staxb.runtime.internal.UnmarshalResult.determineRootType(UnmarshalResult.java:317)
at com.bea.staxb.runtime.internal.UnmarshalResult.unmarshalDocument(UnmarshalResult.java:168)
at com.bea.staxb.runtime.internal.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:65)
at weblogic.descriptor.internal.MarshallerFactory$1.createDescriptor(MarshallerFactory.java:150)
... 41 more
.>
<Feb 8, 2012 4:40:38 PM GMT+07:00> <Error> <Deployer> <BEA-149265> <Failure occurred in the execution of deployment request with ID "1328694030023" for task "0". Error is: "weblogic.application.ModuleException: "
weblogic.application.ModuleException:
at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:732)
at weblogic.application.internal.flow.ScopedModuleDriver.prepare(ScopedModuleDriver.java:188)
at weblogic.application.internal.ExtensibleModuleWrapper.prepare(ExtensibleModuleWrapper.java:83)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:100)
at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:172)
Truncated. see log file for complete stacktrace
Caused By: com.bea.xml.XmlException: failed to load java type corresponding to e=web-fragment
at com.bea.staxb.runtime.internal.UnmarshalResult.getPojoBindingType(UnmarshalResult.java:371)
at com.bea.staxb.runtime.internal.UnmarshalResult.determineTypeForGlobalElement(UnmarshalResult.java:326)
at com.bea.staxb.runtime.internal.UnmarshalResult.determineTypeForGlobalElement(UnmarshalResult.java:336)
at com.bea.staxb.runtime.internal.UnmarshalResult.determineRootType(UnmarshalResult.java:317)
at com.bea.staxb.runtime.internal.UnmarshalResult.unmarshalDocument(UnmarshalResult.java:168)
Truncated. see log file for complete stacktrace
>
<Feb 8, 2012 4:40:38 PM GMT+07:00> <Warning> <Deployer> <BEA-149004> <Failures were detected while initiating distribute task for application "_auto_generated_ear_".>
<Feb 8, 2012 4:40:38 PM GMT+07:00> <Warning> <Deployer> <BEA-149078> <Stack trace for message 149004
weblogic.application.ModuleException:
at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:732)
at weblogic.application.internal.flow.ScopedModuleDriver.prepare(ScopedModuleDriver.java:188)
at weblogic.application.internal.ExtensibleModuleWrapper.prepare(ExtensibleModuleWrapper.java:83)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:100)
at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:172)
Truncated. see log file for complete stacktrace
Caused By: com.bea.xml.XmlException: failed to load java type corresponding to e=web-fragment
at com.bea.staxb.runtime.internal.UnmarshalResult.getPojoBindingType(UnmarshalResult.java:371)
at com.bea.staxb.runtime.internal.UnmarshalResult.determineTypeForGlobalElement(UnmarshalResult.java:326)
at com.bea.staxb.runtime.internal.UnmarshalResult.determineTypeForGlobalElement(UnmarshalResult.java:336)
at com.bea.staxb.runtime.internal.UnmarshalResult.determineRootType(UnmarshalResult.java:317)
at com.bea.staxb.runtime.internal.UnmarshalResult.unmarshalDocument(UnmarshalResult.java:168)
Truncated. see log file for complete stacktrace

mixgho
17 Feb 2012 14:04:06 GMT
17 Feb 2012 14:04:06 GMT

Same here.
Easy, but not very clean solution is to delete the file web-fragment.xml from zk.jar file and redeploy.

If it would be working we don't have to declare DHtmlLayoutServlet in the web.xml.

<17.2.2012 14:59:51 CET> <Error> <Munger> <BEA-2156200> <Unable to load descriptor weblogic.utils.classloaders.GenericClassLoader@e0ae46a finder: weblogic.utils.classloaders.CodeGenClassFinder@3e1b49ab annotation: _appsdir_absence-portlet_war@/WEB-INF/lib/zk-6.0.0.jar!/META-INF/web-fragment.xml of module absence-portlet.war. The error is weblogic.descriptor.DescriptorException: Unmarshaller failed
        at weblogic.descriptor.internal.MarshallerFactory$1.createDescriptor(MarshallerFactory.java:161)
        at weblogic.descriptor.BasicDescriptorManager.createDescriptor(BasicDescriptorManager.java:325)
        at weblogic.application.descriptor.AbstractDescriptorLoader2.getDescriptorBeanFromReader(AbstractDescriptorLoader2.java:803)
        at weblogic.application.descriptor.AbstractDescriptorLoader2.createDescriptorBean(AbstractDescriptorLoader2.java:410)
        at weblogic.application.descriptor.AbstractDescriptorLoader2.loadDescriptorBeanWithoutPlan(AbstractDescriptorLoader2.java:774)
        at weblogic.application.descriptor.AbstractDescriptorLoader2.loadDescriptorBean(AbstractDescriptorLoader2.java:783)
        at weblogic.servlet.internal.fragment.WebFragmentLoader.getWebFragmentBean(WebFragmentLoader.java:36)
        at weblogic.servlet.internal.fragment.WebFragmentManager.prepareForTopologicalSort(WebFragmentManager.java:163)
        at weblogic.servlet.internal.fragment.WebFragmentManager.sortRelatively(WebFragmentManager.java:151)
        at weblogic.servlet.internal.fragment.WebFragmentManager.sortFragments(WebFragmentManager.java:108)
        at weblogic.servlet.internal.fragment.WebFragmentManager.<init>(WebFragmentManager.java:53)
        at weblogic.servlet.internal.fragment.WebFragmentManager.<init>(WebFragmentManager.java:42)
        at weblogic.servlet.internal.WebAppModule.initWebFragmentManager(WebAppModule.java:592)
        at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:716)
        at weblogic.application.internal.flow.ScopedModuleDriver.prepare(ScopedModuleDriver.java:188)
        at weblogic.application.internal.ExtensibleModuleWrapper.prepare(ExtensibleModuleWrapper.java:83)
        at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:100)
        at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:172)
        at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:167)
        at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:35)
        at weblogic.application.internal.flow.ModuleStateDriver.prepare(ModuleStateDriver.java:38)
        at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:139)
        at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:55)
        at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:706)
        at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:35)
        at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:237)
        at weblogic.application.internal.SingleModuleDeployment.prepare(SingleModuleDeployment.java:48)
        at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:158)
        at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:60)
        at weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:207)
        at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:96)
        at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:229)
        at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:747)
        at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1216)
        at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:250)
        at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:159)
        at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:171)
        at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:13)
        at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:46)
        at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
Caused by: com.bea.xml.XmlException: failed to load java type corresponding to e=web-fragment
        at com.bea.staxb.runtime.internal.UnmarshalResult.getPojoBindingType(UnmarshalResult.java:371)
        at com.bea.staxb.runtime.internal.UnmarshalResult.determineTypeForGlobalElement(UnmarshalResult.java:326)
        at com.bea.staxb.runtime.internal.UnmarshalResult.determineTypeForGlobalElement(UnmarshalResult.java:336)
        at com.bea.staxb.runtime.internal.UnmarshalResult.determineRootType(UnmarshalResult.java:317)
        at com.bea.staxb.runtime.internal.UnmarshalResult.unmarshalDocument(UnmarshalResult.java:168)
        at com.bea.staxb.runtime.internal.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:65)
        at weblogic.descriptor.internal.MarshallerFactory$1.createDescriptor(MarshallerFactory.java:150)

benbai
20 Feb 2012 05:00:45 GMT
20 Feb 2012 05:00:45 GMT

Hi,

It seems WebLogic validate web-fragment.xml via weblogic-web-app.xsd
and complain the '<web-fragment>' is not valid,
not sure whether it is possible to disable xml validation of specific file
or handle xml validation by Administering WebLogic Server XML

Regards,
ben

benbai
23 Feb 2012 01:52:31 GMT
23 Feb 2012 01:52:31 GMT

Hi,

I tested a simple web project (Eclipse, WebLogic oepe_11gR1PS1) and can not reproduce this problem,
the test war is at github zk6test.war
(click 'View Row' to download it)

Could you provide a test war that can reproduce this problem?
Thanks.

Ben