2016-08-30 3 views
1

에서 시도 된 API 콘솔. API 콘솔을 통해 API에 액세스하려고하면 아래 오류가보고됩니다.WSO2 APIM 2.0 클러스터링 배포 문제 때 하나 개의 서버에 2 개의 KeyManager 노드, 2 술집 매장 노드, 1 게이트웨이 관리 노드와 2 게이트웨이 작업자 노드를 배치 및로드 균형 nginx를 배치 API 스토어

TID: [-1234] [] [2016-08-29 21:10:57,237] WARN {org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticationHandler} - API authentication failure due to Unclassified Authentication Failure {org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticationHandler} 
TID: [-1234] [] [2016-08-29 21:10:57,238] ERROR {org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticationHandler} - API authentication failed with error 900900 {org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticationHandler} 
org.wso2.carbon.apimgt.gateway.handlers.security.APISecurityException: Error while accessing backend services for API key validation 
    at org.wso2.carbon.apimgt.gateway.handlers.security.keys.WSAPIKeyDataStore.getAllURITemplates(WSAPIKeyDataStore.java:77) 
    at org.wso2.carbon.apimgt.gateway.handlers.security.APIKeyValidator.getAllURITemplates(APIKeyValidator.java:635) 
    at org.wso2.carbon.apimgt.gateway.handlers.security.APIKeyValidator.doGetAPIInfo(APIKeyValidator.java:487) 
    at org.wso2.carbon.apimgt.gateway.handlers.security.APIKeyValidator.findMatchingVerb(APIKeyValidator.java:459) 
    at org.wso2.carbon.apimgt.gateway.handlers.security.APIKeyValidator.getResourceAuthenticationScheme(APIKeyValidator.java:251) 
    at org.wso2.carbon.apimgt.gateway.handlers.security.oauth.OAuthAuthenticator.authenticate(OAuthAuthenticator.java:119) 
    at org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticationHandler.handleRequest(APIAuthenticationHandler.java:117) 
    at org.apache.synapse.rest.API.process(API.java:325) 
    at org.apache.synapse.rest.RESTRequestHandler.dispatchToAPI(RESTRequestHandler.java:90) 
    at org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:69) 
    at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:300) 
    at org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:75) 
    at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) 
    at org.apache.synapse.transport.passthru.ServerWorker.processNonEntityEnclosingRESTHandler(ServerWorker.java:319) 
    at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:152) 
    at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: org.wso2.carbon.apimgt.gateway.handlers.security.APISecurityException: Error while accessing backend services for API key validation 
    at org.wso2.carbon.apimgt.gateway.handlers.security.keys.APIKeyValidatorClient.getAllURITemplates(APIKeyValidatorClient.java:171) 
    at org.wso2.carbon.apimgt.gateway.handlers.security.keys.WSAPIKeyDataStore.getAllURITemplates(WSAPIKeyDataStore.java:75) 
    ... 18 more 
Caused by: java.lang.NullPointerException 
    at org.wso2.carbon.apimgt.gateway.handlers.security.keys.APIKeyValidatorClient.toTemplates(APIKeyValidatorClient.java:193) 
    at org.wso2.carbon.apimgt.gateway.handlers.security.keys.APIKeyValidatorClient.getAllURITemplates(APIKeyValidatorClient.java:166) 
    ... 19 more 

구성 문제 란 무엇인가요? enter image description here

+0

당신은'AdvancedThrottlingEnabled = TRUE '로 실행하고 있습니까? – Bee

+0

AdvancedThrottlingEnabled = false로 실행 중입니다. 아직 현재 클러스터 POC 단계에서 트래픽 관리자를 배포하지 않습니다. –

답변

1

이 알려진 문제이며, fixed in latest master입니다. 해결 방법을 찾을 수 있다면 답을 확인하고 업데이트 할 것입니다.

+1

코드를 수정 한 후 다른 문제가 발생했습니다 : 2016-08-30 04 : 36 : 49,465 [-] [PassThroughMessageProcessor-4] 오류 서버 작업자가 /pizzashack/1.0.0/menu의 GET reguest를 처리하는 중 오류가 발생했습니다. 오류 세부 정보 : null. java.lang.NullPointerException이 org.wso2.carbon.apimgt.gateway.handlers.throttling.ThrottleHandler.doRoleBasedAccessThrottlingWithCEP (ThrottleHandler.java:197)에서 \t는 \t ... –

+0

내가 거짓 EnableAdvanceThrottling =을 configed 때문에 그것의 것? APIHandlerServiceComponent.java에서, 만약 (this.configuration.getThrottleProperties()의 IsEnabled()). {... ServiceReferenceHolder.getInstance() setThrottleDataHolder (throttleDataHolder).; ...}. APIM 2.0에서 사전 조절이 필요합니까? –

+0

필수 항목은 아닙니다. 확인하고 오류에 관해서 다시 알려 드리겠습니다. – Bee