2016-09-22 3 views
0

私は、ボレー認証を使用してライブサーバーに接続しようとしています。ローカルサーバーに接続するとうまくいきましたが、ライブサーバーに接続する際には以下の例外が発生します。アンドロイドのVolleyを使用してライブサーバーに接続中に例外が発生しました

BasicNetwork.performRequest: "URL"

のための予期しない応答コード500とサーバ側のエラーがメディアタイプ「アプリケーション/ JSONをパース

以下のエラーです。 charset = utf-8、application/x-www-form-urlencoded; charset = UTF-8 '期待された区切り文字'; '代わりに「」これは、ここでは、サーバー側で

を取得中にエラーが私のコードは、ジャージーは、Javaで使用されているサーバー側で

public void userLogin(){ 
    showDialog(DIALOG_LOADING); 

    final String json = new Gson().toJson(arr); 

    StringRequest jsonObjReq = new StringRequest(Request.Method.POST, 
      Const.URL_LOGIN, 
      new Response.Listener<String>() { 

       @Override 
       public void onResponse(String response) { 
        System.out.println("LOGIN Response :" + response); 

       } 
      }, new Response.ErrorListener() { 
     @Override 
     public void onErrorResponse(VolleyError error) { 
      NetworkResponse networkResponse = error.networkResponse; 
      System.out.println("NetworkResponse "+ networkResponse); 
      if (networkResponse!= null && networkResponse.statusCode == 401) { 
       Login.this.runOnUiThread(new Runnable() { 
        public void run() { 
         invalidemail.setVisibility(View.GONE); 
         inactiveaccount.setVisibility(View.VISIBLE); 
        } 
       }); 

      } 
      error.printStackTrace(); 
      removeDialog(DIALOG_LOADING); 
      toast_tv.setText("There is no Internet connection. Try again...!"); 
      toast.show(); 
     } 
    }){ 

     @Override 
     public byte[] getBody() { 
      try { 
       return json == null ? null : json.getBytes("utf-8"); 
      } catch (UnsupportedEncodingException uee) { 
       VolleyLog.wtf("Unsupported Encoding while trying to get the bytes of %s using %s", 
         json, "utf-8"); 
       return null; 
      } 
     } 

     @Override 
     public Map<String, String> getHeaders() throws AuthFailureError { 
      HashMap<String, String> headers = new HashMap<String, String>(); 

      String credentials = String.format("%s:%s",Const.auth_username,Const.auth_password); 
      String auth = "Basic " 
        + Base64.encodeToString(credentials.getBytes(), 
        Base64.NO_WRAP); 
      headers.put("Authorization", auth); 
      headers.put("Content-Type", "application/json; charset=utf-8"); 

      return headers ; 
     } 
    }; 

    jsonObjReq.setRetryPolicy(new DefaultRetryPolicy(20 * DefaultRetryPolicy.DEFAULT_TIMEOUT_MS, 0, 0)); 
    Volley.newRequestQueue(this).add(jsonObjReq); 
} 

です。

+0

おそらくサーバー側でエラーが発生します。 – SripadRaj

+0

500は内部サーバーエラーのエラーステータスです。 – toantran

+0

しかし、それはiosで働いていて、同じサーバーが両方のアンドロイドとiosに使用されています。 @SripadRaj –

答えて

0

最後に私は問題を解決しました。実際には何も間違ったコードではありませんでしたが、私が使ったボレーのバージョンは廃止されました。 ボレーライブラリを更新すると、それは私のために働いた。

関連する問題