こんにちは、私のリソースアダプタは、私が40秒としてsuccessStateExpirationSecを設定している。このIBM MobileFirst 8.0 JavaAdapter successStateExpirationSecコールバック
@Path("/branches")
public class MyResourceAdapter {
....
@GET
@Produces(MediaType.TEXT_PLAIN)
@Path("/getDetails")
@OAuthSecurity(scope = "getDetailsAuthScope")
public String getDetails() throws Exception {
String url = "...some url which returns data---";
HttpGet request = new HttpGet(url);
CloseableHttpClient client = HttpClients.createDefault();
CloseableHttpResponse response = client.execute(request);
HttpEntity entity = response.getEntity();
String responseString = EntityUtils.toString(entity);
return responseString;
}
}
のようなものです。そして、私のjavascriptので、私は簡単に
WLAuthorizationManager.logout(securityCheckName);
ログアウト時
setTimeout(function() {
getData('60 timeout');
}, 60000);
setTimeout(function() {
getData('20 timeout');
}, 20000);
を持っている場合、わずか20秒後に私が作っています、これをテストするために
function getData(type) {
alert(type);
var req = new WLResourceRequest('/adapters/LoginAdapter/branches/getDetails', WLResourceRequest.GET);
return req.send().then(function (response) {
alert(JSON.stringify(response));
return response.responseJSON;
});
}
のようにアダプタを起動していますのHttpリクエストと私は応答を得ています。 40秒後にセッションが終了します。 60秒後に再びHttpリクエストを作成していて、期待どおりのレスポンスが得られませんでした。
しかし、セッションが終了するとアプリをログアウトする方法を見つける必要があります。このためのコールバックはありますか?また、ログイン後、私は前のヒットからの応答を取得します。
誰もが私にこれを助けることができますか?
私はすでにsuccessExpirationSecをオーバーライドしています。私の問題は、セッションが期限切れになった天気を知る方法です.Javaアダプタにコールバック関数があるか、Javascript側にコールバックがあります。 – David
また、セッションが期限切れになったときに行うHttpRequestは、次にアプリケーションにログインするときに応答を返します。セッションが終了した後にアダプタコールを停止する方法がある場合は教えてください。またはセッションがアプリケーション側から期限切れになっているかどうかを調べる方法 – David