0

大家好,我的資源適配器是這樣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; 
} 
} 

我已經設置了successStateExpirationSec爲40秒。而在我的javascript我正在調用該適配器像

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; 
        }); 
} 

只是爲了測試這一點,如果有

setTimeout(function() { 
    getData('60 timeout'); 
}, 60000); 

setTimeout(function() { 
    getData('20 timeout'); 
}, 20000); 

在註銷

WLAuthorizationManager.logout(securityCheckName); 

簡言之20秒後,我想提出一個Http要求和我得到的迴應。會議40秒後會過期。 60秒後,我再次發出Http請求,但沒有得到任何預期的響應。

但我需要找到一種方法來註銷應用程序,當會話過期。有沒有回調呢?同樣在登錄後,我得到了前一次命中的響應。

任何人都可以幫助我嗎?

回答

0

如果您知道會話到期時間爲40秒,您可以將安全檢查到期時間設置爲相同。因此,您不需要執行註銷操作,因爲安全檢查在指定的時間後過期。

以下是覆蓋安全檢查默認到期時間的步驟。

  1. 打開MFP操作控制檯&登錄。
  2. 導航到您的應用程序的特定版本並打開安全選項卡
  3. 在安全檢查配置中,選擇安全檢查名稱並覆蓋到期超時值到期望的超時值,如下圖所示。

enter image description here

+0

我已經覆蓋了successExpirationSec。我的問題是如何知道天氣會話過期..是否有任何回調函數在Java適配器或在Javascript方面有任何回調。 – David

+0

而且當會話過期後,我做出的HttpRequest會在下一次登錄到應用程序時返回響應。請告訴我是否有任何方法在會話過期後停止適配器調用?或以任何方式查找會話是否從應用程序端過期.. – David