私はアンドロイドが新しく、Webサービスを通じてサーバーと通信するアプリケーションを作成しています。サーバーサイドコードはasp.netで書かれ、サーバーサイドはセッションを維持しています。 Volleyウェブサービスを呼び出すために使用しますが、問題は私がサーバーの側でセッションを維持することができない限り、私はヘッダーからセッションIDを取得する必要があることを知っています。私は成功することができません。 私の問題は、アプリケーション全体でセッションを維持することです。以下は、アンドロイドでWebサービスを呼び出すための私のコードです。ボレーを使用してアンドロイドのサーバーサイドセッションIDを取得
_Login_Webservice = new JsonObjectRequest(Request.Method.GET,
_Login_Url, null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
// Log.e(Utils.tag, "response :" + response);
User _User;
button.setLoadingState(false);
try {
boolean Success = response.getBoolean("Success");
if (Success == true) {
//my code
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e("", "exception in Login User Login_Activity: ");
Log.e("", "error is : " + error.toString());
}
}) {
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<String, String>();
return params;
}
};
// _Login_Webservice.setRetryPolicy(new DefaultRetryPolicy(5000, DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
// Adding request to request queue
Volley_Controller.getInstance().addToRequestQueue(_Login_Webservice,
Config.VOLEY_TAG);
ヘッダーのレスポンスは以下のとおりです。
{X-AspNet-Version=4.0.30319, X-Android-Selected-Transport=http/1.1, Vary=Accept-Encoding, Date=Thu, 07 Apr 2016 08:26:23 GMT, X-Android-Received-Millis=1460017311847, Set-Cookie=ASP.NET_SessionId=obzjppign5twglksjesm24wi; path=/; HttpOnly, Content-Type=text/JSON; charset=utf-8, X-Powered-By=ASP.NET, X-Android-Response-Source=NETWORK 200, Server=Microsoft-IIS/7.5, X-Android-Sent-Millis=1460017311678, Cache-Control=private}
私はASP.NET_SessionId =の値を必要とし、また、ヘッダ内の他のWebサービスでこれを送信する必要があります。 は、今私は受け付けておりますことを応答がうまくあなたがヘッダにフォームサーバーを来て、応答を取得することができ、そこからバレーボールライブラリによって提供さparseNetworkResponseメソッドを使用する必要が
{"Success":false,"Info":"Object reference not set to an instance of an object."}
あなたは私の人生を救った!ありがとうございました... – Bhuro
これは私が使ったことですhttp://stackoverflow.com/questions/5960832/maintaining-session-in-android-application-stay-authenticated-on-the-server-si/38473193#38473193 – Bhuro