1. 程式人生 > >weblogic上部署CXF系統問題服務端

weblogic上部署CXF系統問題服務端

最近被CXF折磨得死去活來,網路上文章一大堆同樣的異常未必是同樣的錯誤  記錄下本次異常引起的一些內容包括服務端部署和客戶端呼叫

服務端

環境:Weblogic 11g

            CXF 2.6

            JDK1.6

  部署在Tomcat下應用程式沒有任務異常

異常日誌:

<2014-8-25 下午02時44分09秒 CST> <Info> <Security> <BEA-090905> <Disabling CryptoJ JCE Provider self-integrity check for better startup performance. To enable this check, specify -Dweblogic.security.allowCryptoJDefaultJCEVerification=true> 

<2014-8-25 下午02時44分09秒 CST> <Info> <Security> <BEA-090906> <Changing the default Random Number Generator in RSA CryptoJ from ECDRBG to FIPS186PRNG. To disable this change, specify -Dweblogic.security.allowCryptoJDefaultPRNG=true> 

<2014-8-25 下午02時44分10秒 CST> <Info> <WebLogicServer> <BEA-000377> <Starting WebLogic Server with Java HotSpot(TM) Client VM Version 11.0-b15 from Sun Microsystems Inc.> 

<2014-8-25 下午02時44分11秒 CST> <Info> <Management> <BEA-141107> <Version: WebLogic Server 10.3.5.0  Fri Apr 1 20:20:06 PDT 2011 1398638 > 

<2014-8-25 下午02時44分14秒 CST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING> 

<2014-8-25 下午02時44分15秒 CST> <Info> <WorkManager> <BEA-002900> <Initializing self-tuning thread pool> 

<2014-8-25 下午02時44分15秒 CST> <Notice> <LoggingService> <BEA-320400> <The log file E:\bea\user_projects\domains\hisdomain\servers\AdminServer\logs\AdminServer.log will be rotated. Reopen the log file if tailing has stopped. This can happen on some platforms like Windows.> 

<2014-8-25 下午02時44分15秒 CST> <Notice> <LoggingService> <BEA-320401> <The log file has been rotated to E:\bea\user_projects\domains\hisdomain\servers\AdminServer\logs\AdminServer.log00021. Log messages will continue to be logged in E:\bea\user_projects\domains\hisdomain\servers\AdminServer\logs\AdminServer.log.> 

<2014-8-25 下午02時44分15秒 CST> <Notice> <Log Management> <BEA-170019> <The server log file E:\bea\user_projects\domains\hisdomain\servers\AdminServer\logs\AdminServer.log is opened. All server side log events will be written to this file.> 

<2014-8-25 下午02時44分22秒 CST> <Notice> <Security> <BEA-090082> <Security initializing using security realm myrealm.> 

<2014-8-25 下午02時44分59秒 CST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STANDBY> 

<2014-8-25 下午02時44分59秒 CST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING> 

2014-08-25 14:46:47,021  org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:189)  Root WebApplicationContext: initialization started

 2014-08-25 14:46:48,811  org.springframework.context.support.AbstractApplicationContext.prepareRefresh(AbstractApplicationContext.java:411)  Refreshing o[email protected]784c30: display name [Root WebApplicationContext]; startup date [Mon Aug 25 14:46:48 CST 2014]; root of context hierarchy

 2014-08-25 14:46:48,990  org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:323)  Loading XML bean definitions from ServletContext resource [/WEB-INF/beans.xml]

 2014-08-25 14:46:49,705  org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:323)  Loading XML bean definitions from class path resource [META-INF/cxf/cxf.xml]

 2014-08-25 14:46:49,807  org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:323)  Loading XML bean definitions from class path resource [META-INF/cxf/cxf-extension-soap.xml]

 2014-08-25 14:46:49,836  org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:323)  Loading XML bean definitions from class path resource [META-INF/cxf/cxf-servlet.xml]

 2014-08-25 14:46:50,191  org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:426)  Bean factory for application context [o[email protected]784c30]: org.s[email protected]1e4a649

 2014-08-25 14:46:50,486  org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:414)  Pre-instantiating singletons in org.s[email protected]1e4a649: defining beans [cxf,org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor,org.apache.cxf.bus.spring.Jsr250BeanPostProcessor,org.apache.cxf.bus.spring.BusExtensionPostProcessor,org.apache.cxf.binding.soap.SoapBindingFactory,org.apache.cxf.binding.soap.SoapTransportFactory,org.apache.cxf.binding.soap.customEditorConfigurer,cxfWebservice]; root of factory hierarchy

 2014-8-25 14:46:51 org.apache.cxf.service.factory.ReflectionServiceFactoryBean buildServiceFromClass

資訊: Creating Service {http://webservice.services.framework.his.yilz.com/}cxfWebservice from class com.yilz.his.framework.services.webservice.ICxfWebservice

2014-08-25 14:46:51,907  org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:421)  Destroying singletons in org.s[email protected]1e4a649: defining beans [cxf,org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor,org.apache.cxf.bus.spring.Jsr250BeanPostProcessor,org.apache.cxf.bus.spring.BusExtensionPostProcessor,org.apache.cxf.binding.soap.SoapBindingFactory,org.apache.cxf.binding.soap.SoapTransportFactory,org.apache.cxf.binding.soap.customEditorConfigurer,cxfWebservice]; root of factory hierarchy

 2014-08-25 14:46:51,911  org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:215)  Context initialization failed

 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cxfWebservice': Invocation of init method failed; nested exception is java.lang.LinkageError: loader constraint violation: when resolving field "DATETIME" the class loader (instance of weblogic/utils/classloaders/ChangeAwareClassLoader) of the referring class, javax/xml/datatype/DatatypeConstants, and the class loader (instance of <bootloader>) for the field's resolved type, javax/xml/namespace/QName, have different Class objects for that type

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1338)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)

at java.security.AccessController.doPrivileged(Native Method)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)

at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)

at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)

at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)

at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)

at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)

at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)

at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)

at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)

at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)

at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)

at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)

at weblogic.servlet.internal.EventsManager$FireContextListenerAction.run(EventsManager.java:481)

at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)

at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)

at weblogic.servlet.internal.EventsManager.notifyContextCreatedEvent(EventsManager.java:181)

at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1872)

at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3153)

at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1508)

at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:482)

at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)

at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)

at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)

at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200)

at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:247)

at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)

at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)

at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)

at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27)

at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:636)

at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)

at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:205)

at weblogic.application.internal.SingleModuleDeployment.activate(SingleModuleDeployment.java:43)

at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:161)

at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)

at weblogic.deploy.internal.targetserver.BasicDeployment.activate(BasicDeployment.java:184)

at weblogic.deploy.internal.targetserver.BasicDeployment.activateFromServerLifecycle(BasicDeployment.java:361)

at weblogic.management.deploy.internal.DeploymentAdapter$1.doActivate(DeploymentAdapter.java:51)

at weblogic.management.deploy.internal.DeploymentAdapter.activate(DeploymentAdapter.java:200)

at weblogic.management.deploy.internal.AppTransition$2.transitionApp(AppTransition.java:30)

at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:240)

at weblogic.management.deploy.internal.ConfiguredDeployments.activate(ConfiguredDeployments.java:169)

at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:123)

at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:180)

at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:96)

at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)

at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)

at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

Caused by: java.lang.LinkageError: loader constraint violation: when resolving field "DATETIME" the class loader (instance of weblogic/utils/classloaders/ChangeAwareClassLoader) of the referring class, javax/xml/datatype/DatatypeConstants, and the class loader (instance of <bootloader>) for the field's resolved type, javax/xml/namespace/QName, have different Class objects for that type

at com.sun.xml.bind.v2.model.impl.RuntimeBuiltinLeafInfoImpl.<clinit>(RuntimeBuiltinLeafInfoImpl.java:267)

at com.sun.xml.bind.v2.model.impl.RuntimeTypeInfoSetImpl.<init>(RuntimeTypeInfoSetImpl.java:65)

at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.createTypeInfoSet(RuntimeModelBuilder.java:133)

at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.createTypeInfoSet(RuntimeModelBuilder.java:85)

at com.sun.xml.bind.v2.model.impl.ModelBuilder.<init>(ModelBuilder.java:156)

at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.<init>(RuntimeModelBuilder.java:93)

at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:450)

at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:298)

at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:141)

at com.sun.xml.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1163)

at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:145)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:597)

at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:263)

at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:250)

at javax.xml.bind.ContextFinder.find(ContextFinder.java:447)

at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:652)

at org.apache.cxf.common.jaxb.JAXBContextCache$2.run(JAXBContextCache.java:330)

at org.apache.cxf.common.jaxb.JAXBContextCache$2.run(JAXBContextCache.java:329)

at java.security.AccessController.doPrivileged(Native Method)

at org.apache.cxf.common.jaxb.JAXBContextCache.createContext(JAXBContextCache.java:328)

at org.apache.cxf.common.jaxb.JAXBContextCache.getCachedContextAndSchemas(JAXBContextCache.java:228)

at org.apache.cxf.jaxb.JAXBDataBinding.createJAXBContextAndSchemas(JAXBDataBinding.java:491)

at org.apache.cxf.jaxb.JAXBDataBinding.initialize(JAXBDataBinding.java:334)

at org.apache.cxf.service.factory.AbstractServiceFactoryBean.initializeDataBindings(AbstractServiceFactoryBean.java:86)

at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromClass(ReflectionServiceFactoryBean.java:490)

at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.buildServiceFromClass(JaxWsServiceFactoryBean.java:686)

at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:550)

at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:265)

at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:203)

at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:101)

at org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:159)

at org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:211)

at org.apache.cxf.jaxws.EndpointImpl.getServer(EndpointImpl.java:455)

at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:333)

at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:250)

at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:538)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:597)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1414)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1375)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)

... 51 more

<2014-8-25 下午02時46分51秒 CST> <Warning> <HTTP> <BEA-101162> <User defined listener org.springframework.web.context.ContextLoaderListener failed: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cxfWebservice': Invocation of init method failed; nested exception is java.lang.LinkageError: loader constraint violation: when resolving field "DATETIME" the class loader (instance of weblogic/utils/classloaders/ChangeAwareClassLoader) of the referring class, javax/xml/datatype/DatatypeConstants, and the class loader (instance of <bootloader>) for the field's resolved type, javax/xml/namespace/QName, have different Class objects for that type.

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cxfWebservice': Invocation of init method failed; nested exception is java.lang.LinkageError: loader constraint violation: when resolving field "DATETIME" the class loader (instance of weblogic/utils/classloaders/ChangeAwareClassLoader) of the referring class, javax/xml/datatype/DatatypeConstants, and the class loader (instance of <bootloader>) for the field's resolved type, javax/xml/namespace/QName, have different Class objects for that type

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1338)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)

at java.security.AccessController.doPrivileged(Native Method)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)

Truncated. see log file for complete stacktrace

Caused By: java.lang.LinkageError: loader constraint violation: when resolving field "DATETIME" the class loader (instance of weblogic/utils/classloaders/ChangeAwareClassLoader) of the referring class, javax/xml/datatype/DatatypeConstants, and the class loader (instance of <bootloader>) for the field's resolved type, javax/xml/namespace/QName, have different Class objects for that type

at com.sun.xml.bind.v2.model.impl.RuntimeBuiltinLeafInfoImpl.<clinit>(RuntimeBuiltinLeafInfoImpl.java:267)

at com.sun.xml.bind.v2.model.impl.RuntimeTypeInfoSetImpl.<init>(RuntimeTypeInfoSetImpl.java:65)

at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.createTypeInfoSet(RuntimeModelBuilder.java:133)

at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.createTypeInfoSet(RuntimeModelBuilder.java:85)

at com.sun.xml.bind.v2.model.impl.ModelBuilder.<init>(ModelBuilder.java:156)

Truncated. see log file for complete stacktrace

>

解決:異常提示是有不同的javax/xml/namespace/QName, have different Class objects for that type

將引用包裡面所有javax.xml.namespace.QName刪除,不包括JDK中的,當初差點要把JDK中都刪除 OH no,雖然將除JDK包外的javax.xml.namespace.QName都刪除了,可是還報上面的異常,記得將weblogic下的快取著應用刪除掉。

EC中快速檢索class檔案 Ctrl+Shift+T