2013-12-18 53 views
0

嘗試從WSO2 ESB到WSO2 IS的LDAP用戶的OAuth令牌驗證時,有時發生了以下ESB錯誤。java.net.SocketTimeoutException:讀取在WSO2身份服務器OAuth令牌驗證上超時

{org.apache.axis2.transport.http.HTTPSender} - Unable to sendViaPost to url 
    [https://identityserver.com/services/OAuth2TokenValidationService] 
    {org.apache.axis2.transport.http.HTTPSender} java.net.SocketTimeoutException: 
    Read timed out 

OAuth令牌驗證成功工作服務器啓動後和上述錯誤發生後的前幾次。

上述錯誤的原因是什麼?如何解決這個問題?

更新

身份服務器日誌顯示在同一時間出現以下錯誤。

TID: [0] [IS] [2013-12-19 05:04:52,904] ERROR {java.lang.Class} - 
Access Denied. Failed authorization attempt to access service 'OAuth2TokenValidationService' operation 'validate' by 'LDAP/admin' {java.lang.Class} 
    TID: [0] [IS] [2013-12-19 05:04:52,904] ERROR {org.apache.axis2.engine.AxisEngine} - Access Denied. {org.apache.axis2.engine.AxisEngine} 
    org.apache.axis2.AxisFault: Access Denied. 
     at org.wso2.carbon.server.admin.module.handler.AuthorizationHandler.doAuthorization(AuthorizationHandler.java:124) 
     at org.wso2.carbon.server.admin.module.handler.AuthorizationHandler.invoke(AuthorizationHandler.java:88) 
     at org.apache.axis2.engine.Phase.invokeHandler(Phase.java:340) 
     at org.apache.axis2.engine.Phase.invoke(Phase.java:313) 
     at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:261) 
     at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:167) 
     at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172) 

爲什麼此訪問被拒絕錯誤一些。它成功登錄其他時間。

回答

1

根據該錯誤,它似乎是ESB無法將消息發送到以下url。有時候這個服務需要很多時間來回應ESB(超過30秒)。然後我們可以猜測,問題可能出現在WSO2IS方面。您能看到WSO2IS方面的任何錯誤或任何日誌嗎?如果沒有,您是否可以在WSO2IS中啓用調試日誌並查看。你可以使用log4j.properties文件。如果迴應遲緩,通過查看log4j日誌中的時間戳,我們可以瞭解瓶頸發生的位置。

https://identityserver.com/services/OAuth2TokenValidationService

+0

感謝Asela將檢查的是日誌,看看會發生什麼有.. –

+0

請參閱您在OAuth調解配置更新的問題.. –

+0

的用戶名/密碼,是用於登錄到服務器並訪問「OAuth2TokenValidationService」。用戶/密碼必須是WSO2IS服務器中的管理員用戶(具有管理員角色的用戶或訪問此服務的某些權限)。不知道爲什麼這不是有效的。你在做任何負載測試嗎? – Asela

相關問題