You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WSO2 Identity Server 5.11.0与APIM 4.0.0重启后启动异常求助

解决WSO2 APIM 4.0.0与Identity Server作为密钥管理器的启动错误

问题1:WSO2 API Manager重启后的注册表索引错误

重启APIM后出现如下错误:

TID: [-1234] [] [2023-08-08 11:14:22,305] ERROR {org.wso2.carbon.registry.indexing} - [SCR] Exception occurred while unbinding reference Reference[name = registry.service, interface = org.wso2.carbon.registry.core.service.RegistryService, policy = dynamic, cardinality = 1..1, target = null, bind = setRegistryService, unbind = unsetRegistryService]
        Details:
        Problematic reference = Reference[name = registry.service, interface = org.wso2.carbon.registry.core.service.RegistryService, policy = dynamic, cardinality = 1..1, target = null, bind = setRegistryService, unbind = unsetRegistryService]
        of service component = org.wso2.carbon.registry.indexing
        component implementation class = org.wso2.carbon.registry.indexing.internal.IndexingServiceComponent
        located in bundle with symbolic name = org.wso2.carbon.registry.indexing
        bundle location = reference:file:../plugins/org.wso2.carbon.registry.indexing_4.7.39.jar java.lang.reflect.InvocationTargetException
        at jdk.internal.reflect.GeneratedMethodAccessor64.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at org.eclipse.equinox.internal.ds.model.ComponentReference.unbind(ComponentReference.java:476)
        at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.unbindReference(ServiceComponentProp.java:617)
        at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.unbind(ServiceComponentProp.java:262)
        at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:350)
        at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)
        at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)
        at org.eclipse.equinox.internal.ds.Resolver.buildNewlySatisfied(Resolver.java:473)
        at org.eclipse.equinox.internal.ds.Resolver.enableComponents(Resolver.java:217)
        at org.eclipse.equinox.internal.ds.SCRManager.performWork(SCRManager.java:816)
        at org.eclipse.equinox.internal.ds.SCRManager$QueuedJob.dispatch(SCRManager.java:783)
        at org.eclipse.equinox.internal.ds.WorkThread.run(WorkThread.java:89)
        at org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor.run(Executor.java:70)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.wso2.carbon.registry.indexing.RegistryConfigLoader
        at org.wso2.carbon.registry.indexing.IndexingManager.<init>(IndexingManager.java:60)
        at org.wso2.carbon.registry.indexing.IndexingManager.getInstance(IndexingManager.java:71)
        at org.wso2.carbon.registry.indexing.internal.IndexingServiceComponent.stopIndexing(IndexingServiceComponent.java:128)
        at org.wso2.carbon.registry.indexing.internal.IndexingServiceComponent.unsetRegistryService(IndexingServiceComponent.java:123)
        ... 15 more

解决步骤

  • 清理APIM临时缓存:删除<APIM安装目录>/tmp和<APIM安装目录>/work目录,这两个目录存储OSGI运行时缓存,重启服务会自动重建
  • 验证注册表配置:检查<APIM安装目录>/repository/conf/registry.xml文件,确保<indexingConfiguration>节点配置无语法错误,索引相关参数设置正确
  • 检查依赖jar包:确认<APIM安装目录>/plugins下的org.wso2.carbon.registry.indexing_4.7.39.jar文件存在且未损坏,若异常则从官方安装包中替换该文件
  • 重启APIM服务:完成上述操作后重新启动API Manager,观察错误是否消除

问题2:WSO2 Identity Server重启后的XML解析错误

重启IS后出现如下错误:

TID: [-1234] [] [2023-08-08 06:42:44,291] [] ERROR {org.wso2.carbon.tomcat.internal.CarbonTomcat} - error while parsing xml stream org.xml.sax.SAXParseException; lineNumber: 37; columnNumber: 93; Error at line [37] column [93]: [org.wso2.carbon.identity.auth.valve.AuthenticationValve]
        at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:1902)
        at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:1934)
        at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1223)
        at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
        at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
        at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
        at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
        at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
        at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1495)
        at org.wso2.carbon.tomcat.internal.CarbonTomcat.configure(CarbonTomcat.java:90)
        at org.wso2.carbon.tomcat.internal.ServerManager.init(ServerManager.java:156)
        at org.wso2.carbon.tomcat.internal.TomcatBundleActivator.start(TomcatBundleActivator.java:40)
        at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:842)
        at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
        at java.base/java.security.AccessController.doPrivileged(Native Method)
        at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:834)
        at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:791)
        at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1013)
        at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:365)
        at org.eclipse.osgi.container.Module.doStart(Module.java:598)
        at org.eclipse.osgi.container.Module.start(Module.java:462)
        at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel$1.run(ModuleContainer.java:1820)
        at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor$2$1.execute(EquinoxContainerAdaptor.java:150)
        at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1813)
        at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1770)
        at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1735)
        at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1661)
        at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
        at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:345)
Caused by: java.lang.ClassNotFoundException: org.wso2.carbon.identity.auth.valve.AuthenticationValve
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:527)
        at org.eclipse.osgi.internal.framework.ContextFinder.loadClass(ContextFinder.java:139)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:527)
        at org.apache.tomcat.util.digester.ObjectCreateRule.begin(ObjectCreateRule.java:104)
        at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1220)
        ... 32 more

解决步骤

  • 检查Tomcat配置文件:定位到报错提示的第37行对应的XML文件(通常为<IS安装目录>/repository/conf/tomcat/catalina-server.xml),检查org.wso2.carbon.identity.auth.valve.AuthenticationValve的配置项,确认标签闭合完整、无多余字符
  • 补充缺失依赖:检查<IS安装目录>/plugins目录下是否存在包含org.wso2.carbon.identity.auth.valve.AuthenticationValve类的jar包(通常命名为org.wso2.carbon.identity.auth.valve_*.jar),若缺失则从官方安装包中复制该jar包到对应目录
  • 清理IS临时缓存:删除<IS安装目录>/tmp和<IS安装目录>/work目录,清除缓存后重启Identity Server
  • 回退配置变更:若之前修改过IS的Tomcat配置,先回退到原始配置,再逐步调整以定位问题根源

内容的提问来源于stack exchange,提问作者Obid Rakhimov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 17:19:53