繁体   English   中英

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

[英]Getting "(900906) - No matching resource found in the API" for existing resource in WSO2 API manager 3.2.0

已将 wso2 api manager 2.6.0 升级到 3.2.0,将 Identity Server 5.7.0 升级到 5.10.0,我们已将 wso2 identity server -5.10.0 作为密钥管理器与 APIM 集成。 在 APIM-2.6.0 中发布的所有 API 都迁移到 3.2.0 并且它们运行良好。 但是,我向现有 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: /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 日志中的错误:

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/#changed-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- 密码/#change-the-super-admin-credentials

为 API:/test1 附加 wireLogs

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]"

附加在添加新资源路径和发布 API 时得到的错误:

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

保存更改时,请确保已在发布者的环境 UI 下选择相关网关。 另外,请通过 Lifecycle UI 重新部署 API。 然后再次尝试检查流量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM