2013-12-18 55 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

相关问题