2012-03-02 30 views
4

新規プレイ!フレームワークとWeb開発一般に、私は簡単なREST GETをWebサービスに実行しようとしていますが、それに応じて簡単なJSONを取得するだけです。 URLをブラウザに入力すると、きれいにフォーマットされたJSONで完璧な応答が得られます。コードで呼び出すと、それは爆発するだけです。GETリクエストからJSONを取得できません

WS.WSRequest wsRequest = WS.url(serviceURL); 
    wsRequest.timeout(timeoutTime); 
    wsRequest.setHeader("Accept", "application/json"); 
    wsRequest.headers.put("Content-type","application/json"); 
    wsRequest.mimeType = "application/json"; 

    WS.HttpResponse response = wsRequest.get(); 
    String graphServiceResponse = response.getJson().toString(); 

例外はすべてスローされ、エラーが発生するまではすべて正常に実行されます。冗長なコードがたくさんあるように見えます。それらはそれを修正しようと私の試みです。私が言ったように、 "serviceURL"をブラウザに入力すると、うまく動作します。

誰かが間違っていることを知っていますか?前もって感謝します!

+2

どの例外がスローされますか? – Thomas

+0

わかりません(コードにデバッグできません)が、HTTP 500応答を返します。 – Frecklefoot

+1

私は実際にこれを解決しましたが、システムはまだ私自身の答えを数時間掲示することはできません。できるだけ更新されます! – Frecklefoot

答えて

0

これを解決しました。ちょうどすべてのセットを省略し、そのような認証を追加し、それは完全に働いた。奇妙な。

String stringResponse = ""; 
    try { 
     // execute GET to graph service 
     WS.WSRequest wsRequest = WS.url(serviceURL).authenticate(USERNAME, PASSWORD); 
     WS.HttpResponse response = wsRequest.get(); 
     stringResponse = response.getString(); 

     ... more cool stuff ... 

ありがとう!

0

私はこれを試して、このコードが動作していることを確認しました。 10000はms単位のタイムアウトパラメータです。

String baseUrl = "your url"; 

    F.Promise<WSResponse> response = ws.url(baseUrl) 
      .setQueryParameter(param, value) 
      .get(); 

    return response.get(10000).asJson().toString();