2016-08-23 5 views
0

データを投稿するときに何らかのエラーが発生する。レスポンス本体が時々エラーを返すが、時々成功する

私のアプリは新しいユーザーを登録し、データレジスタをサーバーに送信してから結果を返すことができます。

結果レジスタは成功

{ 
    "res": "success" 
} 

結果である場合にはレジスタがポストデータのためのコードの私の作品

Register register = new Register(nameStr, emailStr, phoneStr, passStr, rePassStr,customerIDStr); 
    Call<ResultRegister> call = apiInterface.registration(register); 
    call.enqueue(new Callback<ResultRegister>() { 
     @Override 
     public void onResponse(Call<ResultRegister> call, Response<ResultRegister> response) { 
      String responseString; 
      responseString = response.body().getRes(); 
      if(responseString.equalsIgnoreCase("success")){ 

       Toast.makeText(getActivity(), "Register Success", Toast.LENGTH_SHORT).show(); 

       Fragment fragment = new LoginFragment(); 
       FragmentManager fragmentManager = getFragmentManager(); 
       fragmentManager.beginTransaction().replace(R.id.wrap_login_container, fragment) 
         .addToBackStack(null).commit(); 
      }else{ 
       Toast.makeText(getActivity(), "Register Failed", Toast.LENGTH_SHORT).show(); 
      } 
     } 

     @Override 
     public void onFailure(Call<ResultRegister> call, Throwable t) { 
      t.printStackTrace(); 
      call.cancel(); 
      Toast.makeText(getActivity(), "Please check your network connection and internet permission", Toast.LENGTH_LONG).show(); 
     } 
    }); 

ここ

{ 
    "res": "customer id not found" 
} 

を失敗した場合すべては大丈夫ですレジスタの復帰の場合は、成功ですが、レジスタリターンエラーの場合は、次の行を指すnullポインタ例外が表示されます。

responseString = response.body().getRes(); 

EDIT

これは私ResultRegisterクラス

public class ResultRegister { 
@SerializedName("res") 
String res; 

public String getRes() { 
    return res; 
} 

public void setRes(String res) { 
    this.res = res; 
} 

}

任意の溶液であり、?

+1

あなたが投稿しているウェブサービスやデータはありますか? –

+0

私はwebserviceへのアクセスがありません –

+0

どのようにwebserviceにデータを渡していますか? –

答えて

0

私は私の問題を解決しました。主な問題は、レジスタに障害が発生した場合、エラーコードが500(内部エラーサーバ)の場合です。したがってresponse.body()nullです。

関連する問題