如果未选中“将此设为默认版本”复选框,我有一个 API 可以正常工作,一旦选中,我就会收到此错误
<ams:fault
xmlns:ams="http://wso2.org/apimanager/security">
<ams:code>900906</ams:code>
<ams:message>No matching resource found in the API for the given request</ams:message>
<ams:description>Access failure for API: xxxx/xxxx, version: v0.1 with key: xxxxxx</ams:description>
</ams:fault>
有什么我错过的事情吗?
谢谢
Ember 。
编辑 - 额外详细信息和日志
TID[-1234] [AM] [2014-07-10 13:05:56,238] ERROR {org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticationHandler} - API authentication failure org.wso2.carbon.apimgt.gateway.handlers.security.oauth.OAuthAuthenticator.authenticate(OAuthAuthenticator.java:157) org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticationHandler.handleRequest(APIAuthenticationHandler.java:92) org.apache.synapse.rest.API.process(API.java:285) org.apache.synapse.rest.RESTRequestHandler.dispatchToAPI(RESTRequestHandler.java:83) org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:64) org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:220) org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:83) org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) org.apache.synapse.transport.passthru.ServerWorker.processNonEntityEnclosingRESTHandler(ServerWorker.java:344) org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:168) org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) java.lang.Thread.run(Thread.java:744)
最佳答案
对 API 进行更改后,请保存并发布 API。这可能是导致问题的原因。
发布后,您应该会看到 2 组生产 URL(一组带有版本,一组没有版本)。请检查 API 商店中是否有适用于您的 API 的相同内容。
关于api - WSO2 API 管理器 - "Make this the default version"导致身份验证错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24673177/