尝试从WSO2 ESB到WSO2 IS的LDAP用户OAuth令牌验证时,ESB发生了以下错误 .
{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令牌验证成功运行在服务器启动后以及发生上述错误后的几次 .
上述错误的原因是什么?怎么解决这个问题?
Update
身份服务器日志同时显示以下错误 .
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)
为什么这个Access Denied错误有时候 . 它成功登录其他时间 .
1 回答
根据错误,似乎ESB无法将消息发送到以下url . 有时这项服务需要很长时间才能回复ESB(超过30秒) . 然后我们可以猜测,问题可能在WSO2IS方面 . 你能看到WSO2IS方面的任何错误或任何日志吗?如果没有,您可以在WSO2IS中启用调试日志并查看 . 你可以使用log4j.properties文件 . 如果响应迟到,通过查看log4j日志中的时间戳,我们可以了解瓶颈发生的位置 .