首页 文章

wso2 AM 1.8 ResourceNotFoundException:导入swagger定义时资源不存在

提问于
浏览
0

我正试图在wso2 Api Manager 1.8中注册一个以swagger发布的休息api . 在wso2发布者中,我执行“导入swagger定义”它向我显示“资源”下的所有api,但如果我“保存”,我会在日志中获得以下异常 . 我该如何解决?

谢谢阿尔贝托

我的环节是:

Linux hqldvwsos1 2.6.32-504.el6.x86_64#1 SMP Tue Sep 16 01:56:35 EDT 2014 x86_64 x86_64 x86_64 GNU / Linux java version“1.7.0_75”OpenJDK Runtime Environment(rhel-2.5.4.0.el6_6-x86_64 u75-b13)OpenJDK 64位服务器VM(内置24.75-b04,混合模式)

TID:[0] [AM] [2015-02-10 10:18:14,592] ERROR - 检索SDRESTAPI-1.1.1的Swagger定义时出错 org.wso2.carbon.registry.core.exceptions.ResourceNotFoundException:路径中存在资源/_system/governance/apimgt/applicationdata/api-docs/SDRESTAPI-1.1.1-admin/ 1.2 /默认/在org.wso2.carbon.registry.core.jdbc.EmbeddedRegistry.get(EmbeddedRegistry.java:532)在org.wso2.carbon.registry.core.caching.CacheBackedRegistry.getGhostResourceFromCache(CacheBackedRegistry.java预算码:194)在org.wso2.carbon.registry.core.caching.CacheBackedRegistry.get(CacheBackedRegistry.java:167)在org.wso2.carbon.registry.core.session.UserRegistry.getInternal(UserRegistry.java:620)在org.wso2.carbon.regcess.core.session.UserRegistry.access $ 400(UserRegistry.java:60)org.wso2.carbon.registry.core.session.UserRegistry $ 5.run(UserRegistry.java:603)at org . wso2.carbon.registry.core .session.UserRegistry $ 5.run(UserRegistry.java:600)在java.security.AccessController.doPrivileged(本机方法)在org.wso2.carbon.registry.core.session.UserRegistry.get(UserRegistry.java:600)在org.wso2.carbon.apimgt.impl.APIProviderImpl.getSwagger12Definition(APIProviderImpl.java:2431)位于org.wso2.carbon.apimgt的org.wso2.carbon.apimgt.impl.UserAwareAPIProvider.getSwagger12Definition(UserAwareAPIProvider.java:33) . hostobjects.APIProviderHostObject.jsFunction_getSwagger12Resource(APIProviderHostObject.java:755)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl . 的java:43)在java.lang.reflect.Method.invoke(Method.java:606)在org.mozilla.javascript.MemberBox.invoke(MemberBox.java:126)在org.mozilla.javascript.FunctionObject.call(函数对象.java:386)org.mozilla.javascript.optimizer.OptRuntime.call1(OptRunti) me.java:32)atg.jaggeryjs.rhub.publisher.modules.api.c3._c_anonymous_4(/publisher/modules/api/add.jag:75)org.jaggeryjs.rhino.publisher.modules.api.c3 .call(/publisher/modules/api/add.jag)org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2430)org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:269)org位于org.jaggeryjs.rhino.publisher.modules.api.c0._c_anonymous_32的org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:42)的.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:97) (/publisher/modules/api/module.jag:104)org.mozilla.javascript.optimizer上的org.jaggeryjs.rhino.publisher.modules.api.c0.call(/publisher/modules/api/module.jag) .OptRuntime.call1(OptRuntime.java:32)在org.jaggeryjs.rhino.publisher.site.blocks.item_design.ajax.c0._c_anonymous_2(/publisher/site/blocks/item-design/ajax/add.jag:209 )org.jaggeryjs.rhino.publisher.site.blocks.item_design.ajax.c0.call(/ publisher / site / blocks / item-design / ajax / a) dd.jag)在org.mozilla.javascript.optimizer.OptRuntime.call0(OptRuntime.java:23)在org.jaggeryjs.rhino.publisher.site.blocks.item_design.ajax.c0._c_script_0(/出版者/站点/块/item-design/ajax/add.jag:18)at org.jaggeryjs.rhino.publisher.site.blocks.item_design.ajax.c0.call(/publisher/site/blocks/item-design/ajax/add.jag )org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:394)org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3091)at org.jaggeryjs.rhino.publisher.site.blocks.item_design . org.jaggeryjs.rhino.publisher.site.blocks.item_design.ajax.c0.exec(/ publisher / site / blocks)中的ajax.c0.call(/publisher/site/blocks/item-design/ajax/add.jag) /item-design/ajax/add.jag)在org.jaggeryjs.scriptengine.engine.RhinoEngine.execScript(RhinoEngine.java:570)at atorg.jaggeryjs.scriptengine.engine.RhinoEngine.exec(RhinoEngine.java:273)位于org.jaggeryjs.jaggery.core.JaggeryServlet的org.jaggeryjs.jaggery.core.manager.WebAppManager.execute(WebAppManager.java:432) . doGet(JaggeryServlet.java:24)位于javax.servlet.http.HttpServlet.service(HttpServlet.java:735)的javax.servlet.http.HttpServlet.service(HttpServlet.java:848)atg.apache.catalina.core .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)在org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)在org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487)位于org.apache.catalina.core.ApplicationDispatcher.forward的org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379) ApplicationDispatcher.java:339)org.jaggeryjs.jaggery.core.JaggeryFilter.doFilter(JaggeryFilter.java:21)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)在org.apache.catalina.core.StandardWrapperValve.invoke( StandardWrapperValve.java:222)在org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)在org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)在org.apache.catalina .core.StandardHostValve.invoke(StandardHostValve.java:171)在org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)在org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve的.java:178)在org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve $ 1.invoke(CarbonTomcatValve.java:47)在org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:56) at org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47)at or g.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:141)位于org.apache的org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:156) . catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)在org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:52)在org.apache.catalina.core.StandardEngineValve.invoke( StandardEngineValve.java:118)org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)atg.apache.coyote .AbstractProtocol $ AbstractConnectionHandler.process(AbstractProtocol.java:589)atg.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.run(NioEndpoint.java:1653)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java) :1145)java.lang上的java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:615) .Thread.run(Thread.java:745)TID:[0] [AM] [2015-02-10 10:18:14,597]错误{JAGGERY.site.blocks.item-design.ajax.add:jag} - org.wso2.carbon.apimgt.api.APIManagementException:检索SDRESTAPI-1.1.1的Swagger定义时出错{JAGGERY.site.blocks.item-design.ajax.add:jag}

-----更新n1 ----

我发现招摇定义中有些不一致 .

比如我有

apis:
  - path: /api/budget-codes
    description: Budget Codes
    file:
      apiVersion: "1.0"
      swaggerVersion: "1.2"
      basePath: /fsd
      resourcePath: /api/budget

现在我将第一个“预算代码”改为“预算”,我没有得到我记录的例外 . 我可以保存它,但如果我去实现步骤或者如果我保存并重新阅读设计步骤,我会得到

TID: [0] [AM] [2015-02-10 11:15:19,655] ERROR {JAGGERY.site.blocks.item-design.ajax.add:jag} -  java.lang.ClassCastException: [Ljava.lang.String; cannot be cast to [B {JAGGERY.site.blocks.item-design.ajax.add:jag}

你能帮我么?谢谢

1 回答

  • 0

    阿尔贝托

    导入后编辑了swagger定义了吗?如果进行了更改,请确保授权标头采用以下格式 .

    authorizations: 
         oauth2: 
            type: oauth2 
            scopes: []
    

相关问题