首页 > 解决方案 > 搜索应用程序时出现 WSO2 API Manager Store 错误

问题描述

我正在使用 WSO2 API Manager 2.1.0。当我在商店中搜索应用程序时,有时会出现以下错误。一旦发生这种情况,将无法搜索任何其他应用程序,需要重新启动 API Manager 才能正常运行。

非常感谢任何解决此问题的支持步骤。

提前致谢。

数据表错误

PS:我还添加了后端日志。

TID: [-1234] [] [2021-06-07 14:02:26,786] ERROR {org.jaggeryjs.jaggery.core.manager.WebAppManager} -  org.mozilla.javascript.EcmaError: TypeError: Cannot read property "length" from null (/store/site/blocks/application/application-list/ajax/application-list.jag#98) {org.jaggeryjs.jaggery.core.manager.WebAppManager}
org.jaggeryjs.scriptengine.exceptions.ScriptException: org.mozilla.javascript.EcmaError: TypeError: Cannot read property "length" from null (/store/site/blocks/application/application-list/ajax/application-list.jag#98)
        at org.jaggeryjs.scriptengine.engine.RhinoEngine.execScript(RhinoEngine.java:571)
        at org.jaggeryjs.scriptengine.engine.RhinoEngine.exec(RhinoEngine.java:273)
        at org.jaggeryjs.jaggery.core.manager.WebAppManager.exec(WebAppManager.java:588)
        at org.jaggeryjs.jaggery.core.manager.WebAppManager.execute(WebAppManager.java:508)
        at org.jaggeryjs.jaggery.core.JaggeryServlet.doGet(JaggeryServlet.java:24)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:747)
        at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:485)
        at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:377)
        at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:337)
        at org.jaggeryjs.jaggery.core.JaggeryFilter.doFilter(JaggeryFilter.java:21)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.wso2.carbon.ui.filters.cache.ContentTypeBasedCachePreventionFilter.doFilter(ContentTypeBasedCachePreventionFilter.java:53)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter(HttpHeaderSecurityFilter.java:120)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:99)
        at org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47)
        at org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:57)
        at org.wso2.carbon.event.receiver.core.internal.tenantmgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:48)
        at org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47)
        at org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:62)
        at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:159)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:958)
        at org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:57)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:452)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1087)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1756)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1715)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:745)
Caused by: org.mozilla.javascript.EcmaError: TypeError: Cannot read property "length" from null (/store/site/blocks/application/application-list/ajax/application-list.jag#98)
        at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3687)
        at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3665)
        at org.mozilla.javascript.ScriptRuntime.typeError(ScriptRuntime.java:3693)
        at org.mozilla.javascript.ScriptRuntime.typeError2(ScriptRuntime.java:3712)
        at org.mozilla.javascript.ScriptRuntime.undefReadError(ScriptRuntime.java:3725)
        at org.mozilla.javascript.ScriptRuntime.getObjectProp(ScriptRuntime.java:1483)
        at org.jaggeryjs.rhino.store.site.blocks.application.application_list.ajax.c0._c_anonymous_1(/store/site/blocks/application/application-list/ajax/application-list.jag:98)
        at org.jaggeryjs.rhino.store.site.blocks.application.application_list.ajax.c0.call(/store/site/blocks/application/application-list/ajax/application-list.jag)
        at org.mozilla.javascript.optimizer.OptRuntime.call0(OptRuntime.java:23)
        at org.jaggeryjs.rhino.store.site.blocks.application.application_list.ajax.c0._c_script_0(/store/site/blocks/application/application-list/ajax/application-list.jag:4)
        at org.jaggeryjs.rhino.store.site.blocks.application.application_list.ajax.c0.call(/store/site/blocks/application/application-list/ajax/application-list.jag)
        at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:394)
        at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3091)
        at org.jaggeryjs.rhino.store.site.blocks.application.application_list.ajax.c0.call(/store/site/blocks/application/application-list/ajax/application-list.jag)
        at org.jaggeryjs.rhino.store.site.blocks.application.application_list.ajax.c0.exec(/store/site/blocks/application/application-list/ajax/application-list.jag)
        at org.jaggeryjs.scriptengine.engine.RhinoEngine.execScript(RhinoEngine.java:567)
        ... 45 more

标签: ajaxwso2wso2-am

解决方案


如果在 API 管理器中找不到特定于应用程序的条目,或者在尝试检索应用程序信息时网络调用中存在任何问题,则上述 Ajax 错误是一般错误。

为了进一步调查,

  • 您可以在浏览器中打开开发者控制台并在操作过程中检查网络。检查与检索( )相关的操作(网络调用)https://<hostname>:<port>/store/site/blocks/application/application-list/ajax/application-list.jag是否有问题,如果在您的环境中配置了 LB 和 Proxy 配置,请务必检查。
  • 验证错误是仅填充到一组应用程序还是随机填充到所有应用程序。如果这只发生在一组应用程序中,则存储在数据库中的数据可能会出现问题。相应的应用程序输入了部分数据,或者应用程序订阅的 API 有部分数据

关注 URL 配置和 LB 配置,因为它可能是问题的更普遍原因。


推荐阅读