首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取"(900906) - WSO2 API管理器3.2.0中现有资源在API中找不到的匹配资源“

获取"(900906) - WSO2 API管理器3.2.0中现有资源在API中找不到的匹配资源“
EN

Stack Overflow用户
提问于 2021-10-04 11:40:56
回答 1查看 945关注 0票数 0

我们已经将wso2 api管理器2.6.0升级到3.2.0,Identity Server5.7.0到5.10.0,我们已经将wso2标识服务器-5.10.0作为一个关键管理器与APIM集成。在APIM-2.6.0中发布的所有API都迁移到3.2.0,并且运行良好。但是,我向现有的API添加了新的资源路径并保存了它。如果我试图在错误响应下面执行新的资源路径:

代码语言:javascript
复制
<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: /reports/v1.0.0, version: v1.0.0 status: (900906) - No matching resource found in the API for the given request. Check the API documentation and add a proper REST resource path to the invocation URL</ams:description>
</ams:fault>

和WSO2日志中的错误:

代码语言:javascript
复制
WARN {org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticationHandler} - API authentication failure due to No matching resource found in the API for the given request

在为IS和APIM更改管理密码后注意到此问题,请按照以下步骤更改密码:

为IS-5.10.0更改管理密码: https://is.docs.wso2.com/en/5.10.0/setup/maintaining-logins-and-passwords/#changing-the-super-admin-password

为APIM-3.2.0更改管理密码: https://apim.docs.wso2.com/en/3.2.0/install-and-setup/setup/security/logins-and-passwords/maintaining-logins-and-passwords/#change-the-super-admin-credentials

为API:/test1 1附加wireLogs

代码语言:javascript
复制
TID: [-1] [] [2021-10-06 12:21:16,851] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-2 >> "GET /reports/v1.0.0/test1 HTTP/1.1[\r][\n]"
TID: [-1] [] [2021-10-06 12:21:16,852] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-2 >> "Host: 10.75.80.104:8280[\r][\n]"
TID: [-1] [] [2021-10-06 12:21:16,852] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-2 >> "Connection: keep-alive[\r][\n]"
TID: [-1] [] [2021-10-06 12:21:16,852] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-2 >> "AUTH_TOKEN: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1aWNoZWNrQHRhdGFlbHhzaS5jby5pbiIsIkZpcnN0TmFtZSI6InVpY2hlY2siLCJyb2xlcyI6IlJPTEVfQURNSU4iLCJ0b2tlbl9hY2Nlc3MiOiJhY2Nlc3MiLCJMYXN0TmFtZSI6InVpY2hlY2siLCJleHAiOjE2NjUwMzc4NzEsInVzZXJpZCI6MSwiZGV2aWNlIjoiYWRtaW4iLCJpYXQiOjE2MzM1MDE4NzEsImp0aSI6IjdmOTc2ZTg2LTdiMDgtNGIzZi05ZjA2LWYxNTBlNWRhYzdiZCIsInVzZXJuYW1lIjoidWljaGVja0B0YXRhZWx4c2kuY28uaW4ifQ.wzlNwFnd2KsvnuFmhvTWkDCDwNgklIs4660iPu7R6Z0[\r][\n]"
TID: [-1] [] [2021-10-06 12:21:16,853] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-2 >> "Authorization: Bearer 5cee06c5-2195-3d3f-888f-38cf2356fa9f[\r][\n]"
TID: [-1] [] [2021-10-06 12:21:16,853] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-2 >> "Cache-Control: no-cache[\r][\n]"
TID: [-1] [] [2021-10-06 12:21:16,854] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-2 >> "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36[\r][\n]"
TID: [-1] [] [2021-10-06 12:21:16,854] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-2 >> "Postman-Token: a721233f-49b3-abcc-dd26-651602f59b63[\r][\n]"
TID: [-1] [] [2021-10-06 12:21:16,854] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-2 >> "Accept: */*[\r][\n]"
TID: [-1] [] [2021-10-06 12:21:16,855] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-2 >> "Accept-Encoding: gzip, deflate[\r][\n]"
TID: [-1] [] [2021-10-06 12:21:16,855] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-2 >> "Accept-Language: en-US,en;q=0.9,pt;q=0.8[\r][\n]"
TID: [-1] [] [2021-10-06 12:21:16,855] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-2 >> "Cookie: JSESSIONID=4C0E34D44696583993A06B1B28613614[\r][\n]"
TID: [-1] [] [2021-10-06 12:21:16,856] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-2 >> "[\r][\n]"
TID: [-1234] [] [2021-10-06 12:21:16,857]  WARN {org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticationHandler} - API authentication failure due to No matching resource found in the API for the given request
TID: [-1] [] [2021-10-06 12:21:16,858] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-2 << "HTTP/1.1 403 Forbidden[\r][\n]"
TID: [-1] [] [2021-10-06 12:21:16,858] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-2 << "Cookie: JSESSIONID=4C0E34D44696583993A06B1B28613614[\r][\n]"
TID: [-1] [] [2021-10-06 12:21:16,858] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-2 << "AUTH_TOKEN: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1aWNoZWNrQHRhdGFlbHhzaS5jby5pbiIsIkZpcnN0TmFtZSI6InVpY2hlY2siLCJyb2xlcyI6IlJPTEVfQURNSU4iLCJ0b2tlbl9hY2Nlc3MiOiJhY2Nlc3MiLCJMYXN0TmFtZSI6InVpY2hlY2siLCJleHAiOjE2NjUwMzc4NzEsInVzZXJpZCI6MSwiZGV2aWNlIjoiYWRtaW4iLCJpYXQiOjE2MzM1MDE4NzEsImp0aSI6IjdmOTc2ZTg2LTdiMDgtNGIzZi05ZjA2LWYxNTBlNWRhYzdiZCIsInVzZXJuYW1lIjoidWljaGVja0B0YXRhZWx4c2kuY28uaW4ifQ.wzlNwFnd2KsvnuFmhvTWkDCDwNgklIs4660iPu7R6Z0[\r][\n
TID: [-1] [] [2021-10-06 12:21:16,859] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-2 << "Access-Control-Expose-Headers: [\r][\n]"
TID: [-1] [] [2021-10-06 12:21:16,859] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-2 << "Accept: */*[\r][\n]"
TID: [-1] [] [2021-10-06 12:21:16,859] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-2 << "Cache-Control: no-cache[\r][\n]"
TID: [-1] [] [2021-10-06 12:21:16,859] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-2 << "Access-Control-Allow-Origin: *[\r][\n]"
TID: [-1] [] [2021-10-06 12:21:16,859] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-2 << "Access-Control-Allow-Methods: GET[\r][\n]"
TID: [-1] [] [2021-10-06 12:21:16,859] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-2 << "Postman-Token: a721233f-49b3-abcc-dd26-651602f59b63[\r][\n]"
TID: [-1] [] [2021-10-06 12:21:16,859] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-2 << "Accept-Encoding: gzip, deflate[\r][\n]"
TID: [-1] [] [2021-10-06 12:21:16,859] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-2 << "Accept-Language: en-US,en;q=0.9,pt;q=0.8[\r][\n]"
TID: [-1] [] [2021-10-06 12:21:16,860] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-2 << "Access-Control-Allow-Headers: authorization,Access-Control-Allow-Origin,Content-Type,SOAPAction,apikey,testKey,CMS_TOKEN,AUTH_TOKEN,responseType,Authorization[\r][\n]"
TID: [-1] [] [2021-10-06 12:21:16,860] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-2 << "Content-Type: application/xml; charset=UTF-8[\r][\n]"
TID: [-1] [] [2021-10-06 12:21:16,860] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-2 << "Date: Wed, 06 Oct 2021 06:51:16 GMT[\r][\n]"
TID: [-1] [] [2021-10-06 12:21:16,860] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-2 << "Transfer-Encoding: chunked[\r][\n]"
TID: [-1] [] [2021-10-06 12:21:16,860] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-2 << "Connection: keep-alive[\r][\n]"
TID: [-1] [] [2021-10-06 12:21:16,860] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-2 << "[\r][\n]"
TID: [-1] [] [2021-10-06 12:21:16,860] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-2 << "1b9[\r][\n]"
TID: [-1] [] [2021-10-06 12:21:16,860] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-2 << "<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: /reports/v1.0.0, version: v1.0.0 status: (900906) - No matching resource found in the API for the given request. Check the API documentation and add a proper REST resource path to the invocation URL</ams:description></ams:fault>[\r][\n]"
TID: [-1] [] [2021-10-06 12:21:16,861] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-2 << "0[\r][\n]"
TID: [-1] [] [2021-10-06 12:21:16,861] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-2 << "[\r][\n]"

附加添加新resourcePath和发布API:时获得的错误

代码语言:javascript
复制
TID: [-1234] [AuthenticationAdmin] [2021-10-20 16:00:21,559]  INFO {org.wso2.carbon.core.services.util.CarbonAuthenticationUtil} - 'admin@carbon.super [-1234]' logged in at [2021-10-20 16:00:21,559+0530]
TID: [-1234] [] [2021-10-20 16:00:22,164]  INFO {org.wso2.carbon.databridge.core.DataBridge} - user admin connected
TID: [-1] [] [2021-10-20 16:00:22,196] ERROR {org.wso2.andes.client.AMQConnection} - Throwable Received but no listener set. org.wso2.andes.AMQDisconnectedException: Server closed connection and reconnection not permitted.
        at org.wso2.andes.client.protocol.AMQProtocolHandler.closed(AMQProtocolHandler.java:274)
        at org.wso2.andes.client.protocol.AMQProtocolHandler.closeConnection(AMQProtocolHandler.java:755)
        at org.wso2.andes.client.protocol.AMQProtocolSession.closeProtocolSession(AMQProtocolSession.java:379)
        at org.wso2.andes.client.handler.ConnectionCloseMethodHandler.methodReceived(ConnectionCloseMethodHandler.java:104)
        at org.wso2.andes.client.handler.ClientMethodDispatcherImpl.dispatchConnectionClose(ClientMethodDispatcherImpl.java:192)
        at org.wso2.andes.framing.amqp_0_91.ConnectionCloseBodyImpl.execute(ConnectionCloseBodyImpl.java:140)
        at org.wso2.andes.client.state.AMQStateManager.methodReceived(AMQStateManager.java:111)
        at org.wso2.andes.client.protocol.AMQProtocolHandler.methodBodyReceived(AMQProtocolHandler.java:554)
        at org.wso2.andes.client.protocol.AMQProtocolSession.methodFrameReceived(AMQProtocolSession.java:467)
        at org.wso2.andes.framing.AMQMethodBodyImpl.handle(AMQMethodBodyImpl.java:92)
        at org.wso2.andes.client.protocol.AMQProtocolHandler$2.run(AMQProtocolHandler.java:487)
        at org.wso2.andes.pool.Job.processAll(Job.java:111)
        at org.wso2.andes.pool.Job.run(Job.java:158)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

TID: [-1] [] [2021-10-20 16:00:22,196] ERROR {org.wso2.carbon.event.output.adapter.jms.internal.util.JMSConnectionFactory} - Error acquiring a Connection from the JMS CF : notificationJMSPublisher using properties : {transport.jms.ConcurrentPublishers=allow, java.naming.provider.url=repository/conf/jndi.properties, java.naming.factory.initial=org.wso2.andes.jndi.PropertiesFileInitialContextFactory, transport.jms.DestinationType=topic, transport.jms.ConnectionFactoryJNDIName=TopicConnectionFactory, transport.jms.Destination=notification} javax.jms.JMSException: Error creating connection: not allowed
        at org.wso2.andes.client.AMQConnectionFactory.createConnection(AMQConnectionFactory.java:346)
        at org.wso2.andes.client.AMQConnectionFactory.createConnection(AMQConnectionFactory.java:53)
        at org.wso2.carbon.event.output.adapter.jms.internal.util.JMSUtils.createConnection(JMSUtils.java:387)
        at org.wso2.carbon.event.output.adapter.jms.internal.util.JMSConnectionFactory.createConnection(JMSConnectionFactory.java:268)
        at org.wso2.carbon.event.output.adapter.jms.internal.util.JMSConnectionFactory$PoolableJMSConnectionFactory.makeObject(JMSConnectionFactory.java:356)
        at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1181)
        at org.wso2.carbon.event.output.adapter.jms.internal.util.JMSConnectionFactory.getConnectionFromPool(JMSConnectionFactory.java:286)
        at org.wso2.carbon.event.output.adapter.jms.internal.util.JMSMessageSender.send(JMSMessageSender.java:86)
        at org.wso2.carbon.event.output.adapter.jms.JMSEventAdapter$JMSSender.run(JMSEventAdapter.java:284)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: org.wso2.andes.AMQConnectionFailureException: not allowed [error code 530: not allowed]
        at org.wso2.andes.client.AMQConnection.<init>(AMQConnection.java:496)
        at org.wso2.andes.client.AMQConnectionFactory.createConnection(AMQConnectionFactory.java:328)
        ... 13 more
Caused by: org.wso2.andes.client.AMQAuthenticationException: not allowed [error code 530: not allowed]
        at org.wso2.andes.client.handler.ConnectionCloseMethodHandler.methodReceived(ConnectionCloseMethodHandler.java:79)
        at org.wso2.andes.client.handler.ClientMethodDispatcherImpl.dispatchConnectionClose(ClientMethodDispatcherImpl.java:192)
        at org.wso2.andes.framing.amqp_0_91.ConnectionCloseBodyImpl.execute(ConnectionCloseBodyImpl.java:140)
        at org.wso2.andes.client.state.AMQStateManager.methodReceived(AMQStateManager.java:111)
        at org.wso2.andes.client.protocol.AMQProtocolHandler.methodBodyReceived(AMQProtocolHandler.java:554)
        at org.wso2.andes.client.protocol.AMQProtocolSession.methodFrameReceived(AMQProtocolSession.java:467)
        at org.wso2.andes.framing.AMQMethodBodyImpl.handle(AMQMethodBodyImpl.java:92)
        at org.wso2.andes.client.protocol.AMQProtocolHandler$2.run(AMQProtocolHandler.java:487)
        at org.wso2.andes.pool.Job.processAll(Job.java:111)
        at org.wso2.andes.pool.Job.run(Job.java:158)
        ... 3 more

按照下面的链接使用密码工具加密密码和connectionUrl:

17:58 Amulya M https://docs.wso2.com/display/Carbon440/Encrypting+Passwords+with+Cipher+Tool

编码的管理密码和更新的'deployment.toml‘文件如下所示:[apim.throttling.jms]

username = "admin"

password = "encodedPassword"

在jndi2.properties中编码“connectionfactory.TopicConnectionFactory”URL

amqp://admin:adminpwd@clientid/carbon?brokerlist='tcp://${carbon.local.ip}:${jms.port}‘= connectionfactory.TopicConnectionFactory

然而,在重启APIM:后出现以下错误

{org.wso2.carbon.apimgt.gateway.handlers.security.APIKeyValidator}错误-没有找到有效的验证信息缓存配置。使用默认的configurationjava.lang.NullPointerException TID:-12342021-11-1517:31:52,650错误{org.wso2.carbon.apimgt.gateway.handlers.security.APIKeyValidator} -没有找到有效的API资源验证信息缓存配置。使用默认的{org.wso2.carbon.apimgt.gateway.utils.GatewayUtils} TID:-12342021-11-1517:31:52,666错误configurationjava.lang.NullPointerException -没有找到有效的configurationjava.lang.NullPointerException验证信息缓存配置。使用默认配置。org.wso2.carbon.apimgt.gateway.internal.ServiceReferenceHolder.getAPIManagerConfiguration_aroundBody12(ServiceReferenceHolder.java:100) at org.wso2.carbon.apimgt.gateway.internal.ServiceReferenceHolder.getAPIManagerConfiguration(ServiceReferenceHolder.java:99) at org.wso2.carbon.apimgt.gateway.utils.GatewayUtils.isGatewayTokenCacheEnabled_aroundBody56(GatewayUtils.java:868) at org.wso2.carbon.apimgt.gateway.utils.GatewayUtils.isGatewayTokenCacheEnabled(GatewayUtils.java:865) at org.wso2.carbon.apimgt.gateway.handlers.security.jwt.JWTValidator.( org.wso2.carbon.apimgt.gateway.handlers.security.oauth.OAuthAuthenticator.init_aroundBody0(OAuthAuthenticator.java:103) )在org.wso2.carbon.apimgt.gateway.handlers.security.oauth.OAuthAuthenticator.init(OAuthAuthenticator.java:101)在org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticationHandler.initializeAuthenticators_aroundBody34(APIAuthenticationHandler.java:300)在org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticationHandler.initializeAuthenticators(APIAuthenticationHandler.java:239)在org.wso2。carbon.apimgt.gateway.handlers.security.APIAuthenticationHandler.handleRequest_aroundBody36(APIAuthenticationHandler.java:352) at org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticationHandler.handleRequest(APIAuthenticationHandler.java:325) at org.apache.synapse.rest.API.process(API.java:373) at org.apache.synapse.rest.RESTRequestHandler.apiProcessNonDefaultStrategy(RESTRequestHandler.java:144) at org.apache.synapse.rest.RESTRequestHandler.identifyAPI(RESTRequestHandler.java:164) at org.apache.synapse.rest.RESTRequestHandler.dispatchToAPI(RESTRequestHandler.java95)在org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:73) at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:331) at org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:99) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) at org.apache.synapse.transport.passthru.ServerWorker.processNonEntityEnclosingRESTHandler(ServerWorker.java:367) at org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker( org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:181) at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)

EN

回答 1

Stack Overflow用户

发布于 2021-10-04 12:27:11

在保存更改时,请确保已在publisher的Environment UI下选择了相关网关。另外,请通过Lifecycle重新部署API。然后再检查一下流量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69435389

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档