ENV:Java 7中,PlayframeworkWS玩框架连接问题
家伙嗨,
我有一个问题..我在IntelliJ IDEA的创建新的播放项目。我写了一个WS叫下面的网址
http://finance.yahoo.com/connection/currency-converter-cache?date=20151006
上调用我连接异常如下
public static F.Promise<Result> getAllCurrencies(){
SimpleDateFormat formater = new SimpleDateFormat("YYYYMMdd");
String curl = "http://finance.yahoo.com/connection/currency-converter-cache";
F.Promise<Result> holder = WS.url(curl).setTimeout(2000).setQueryParameter("date", formater.format(new Date())).get().map(new F.Function<WSResponse, Result>() {
@Override
public Result apply(WSResponse wsResponse) throws Throwable {
return ok(wsResponse.asJson());
}
});
return holder;
}
..
[success] Compiled in 527ms
[info] play - Application started (Dev)
[error] play - Cannot invoke the action, eventually got an error: java.net.ConnectException: Connection timed out: no further information: finance.yahoo.com/106.10.199.10:80 to http://finance.yahoo.com/connection/currency-converter-cache?date=20150212
[error] application -
! @6l6kefip0 - Internal server error, for (GET) [/currencies] ->
play.api.Application$$anon$1: Execution exception[[ConnectException: Connection timed out: no further information: finance.yahoo.com/106.10.xxx.xx:80 to http://finance.yahoo.com/connection/currency-converter-cache?date=20150212]]
at play.api.Application$class.handleError(Application.scala:296) ~[play_2.11-2.3.7.jar:2.3.7]
at play.api.DefaultApplication.handleError(Application.scala:402) [play_2.11-2.3.7.jar:2.3.7]
at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320) [play_2.11-2.3.7.jar:2.3.7]
at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320) [play_2.11-2.3.7.jar:2.3.7]
at scala.Option.map(Option.scala:145) [scala-library-2.11.1.jar:na]
Caused by: java.net.ConnectException: Connection timed out: no further information: finance.yahoo.com/106.10.xxx.xx:80 to http://finance.yahoo.com/connection/currency-converter-cache?date=20150212
at com.ning.http.client.providers.netty.NettyConnectListener.operationComplete(NettyConnectListener.java:104) ~[async-http-client-1.8.14.jar:na]
at org.jboss.netty.channel.DefaultChannelFuture.notifyListener(DefaultChannelFuture.java:431) ~[netty-3.9.3.Final.jar:na]
at org.jboss.netty.channel.DefaultChannelFuture.notifyListeners(DefaultChannelFuture.java:422) ~[netty-3.9.3.Final.jar:na]
at org.jboss.netty.channel.DefaultChannelFuture.setFailure(DefaultChannelFuture.java:384) ~[netty-3.9.3.Final.jar:na]
at org.jboss.netty.channel.socket.nio.NioClientBoss.processSelectedKeys(NioClientBoss.java:109) ~[netty-3.9.3.Final.jar:na]
Caused by: java.net.ConnectException: Connection timed out: no further information: finance.yahoo.com/106.10.xxx.xx:80
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.7.0_71]
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:739) ~[na:1.7.0_71]
想知道我在哪里缺少一块..
同样,当我在浏览器中输入网址时,我可以看到输出。我是否需要更新application.conf中的application.secret才能使其工作....
更新您的问题与您用于获取该数据和/或异常stacktrace的代码。没有它将很难猜到发生了什么...... – Salem 2015-02-10 10:46:58
plis @BalaB添加你得到的异常。 – 2015-02-11 15:08:57
嗨圣地亚哥,我更新了代码并发布了异常。 – BalaB 2015-02-12 08:51:38