小编leg*_*ira的帖子

播放框架ws调用https restful API抛出生产异常

使用Play 2.4.6和WS向一系列宁静的API请求数据,但最后添加我遇到了一个问题,我可以弄清楚如何修复.

简而言之,我有一些像这样的代码:

    def testws = Action { implicit request =>
    try {
        Async {
            WS.url("https://someUrl").post(someodyRequest).map { response =>
            Ok("got result from ws")
            }.recover{
                case e: Throwable =>
                    log.warn(s"unexpected error fetching API ", e)
            }
        }
    } catch {
        case _  => Ok("error")
    }
}
Run Code Online (Sandbox Code Playgroud)

在我的本地机器上,.recover块永远不会被执行,但是,在生产中.recover总是在运行,throwable的跟踪轨迹是这样的:

java.net.ConnectException: General SSLEngine problem
at com.ning.http.client.providers.netty.request.NettyConnectListener.onFutureFailure(NettyConnectListener.java:128) ~[com.ning.async-http-client-1.9.21.jar:na]
at com.ning.http.client.providers.netty.request.NettyConnectListener.access$200(NettyConnectListener.java:37) ~[com.ning.async-http-client-1.9.21.jar:na]
at com.ning.http.client.providers.netty.request.NettyConnectListener$1.operationComplete(NettyConnectListener.java:101) ~[com.ning.async-http-client-1.9.21.jar:na]
at org.jboss.netty.channel.DefaultChannelFuture.notifyListener(DefaultChannelFuture.java:409) ~[io.netty.netty-3.10.4.Final.jar:na]
at org.jboss.netty.channel.DefaultChannelFuture.notifyListeners(DefaultChannelFuture.java:395) ~[io.netty.netty-3.10.4.Final.jar:na]
at org.jboss.netty.channel.DefaultChannelFuture.setFailure(DefaultChannelFuture.java:362) ~[io.netty.netty-3.10.4.Final.jar:na]
at org.jboss.netty.handler.ssl.SslHandler.setHandshakeFailure(SslHandler.java:1460) ~[io.netty.netty-3.10.4.Final.jar:na]
at org.jboss.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1314) ~[io.netty.netty-3.10.4.Final.jar:na]
at org.jboss.netty.handler.ssl.SslHandler.decode(SslHandler.java:852) ~[io.netty.netty-3.10.4.Final.jar:na]
at org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:425) ~[io.netty.netty-3.10.4.Final.jar:na] …
Run Code Online (Sandbox Code Playgroud)

ssl scala playframework

7
推荐指数
0
解决办法
1462
查看次数

标签 统计

playframework ×1

scala ×1

ssl ×1