Ошибка: ваш сеанс истек из-за неактивности. ATG REST API сессия подтверждение номера несоответствие

Я работаю на портале ATG с использованием REST API, все ATG API тестируются с использованием PostMan. Это дает ошибку, когда я начал работать в JS. ниже тестовый код:

http({
            method : "GET",
            url : "http://IP:PORT/rest/model/atg/rest/SessionConfirmationActor/getSessionConfirmationNumber"               
         }).then(function mySucces(response){
              // localStorage.setItem("getSessionConfirmationNumer", response.data.sessionConfirmationNumber);
              // localStorage.getItem("getSessionConfirmationNumer");   
            http({
                    method : "GET",
                    url : "http://IP:PORT/rest/model/atg/userprofiling/ProfileActor/login?_dynSessConf="+response.data.sessionConfirmationNumber+"&login=atgcust1&password=atgcust1",
                    // url : "http://IP:PORT/rest/model/atg/userprofiling/ProfileActor/login",
                    // data:formData
                 }).then(function mySucces(response){
                      console.log("done");
                 },function errorCallback(response) {
                    console.log(response);

                });
         });

Выход из консоли:

angular.js: 10722 GET http://IP:PORT/rest/model/atg/userprofiling/ProfileActor/login?_dynSessConf=9030570900570011195&login=atgcust1&password=atgcust1 409 (конфликт)(анонимная функция) @ angular.js:10722p @ angular.js:10515g @ angular.js:10222(анонимная функция) @ angular.js:14745n.$eval @ angular.js:15989n.$digest @ angular.js:15800n.$apply @ angular.js:16097(анонимная функция) @ angular.js: 23554n.event.dispatch @ jQuery-2.1.4.min.js: 3r.handle @ jQuery-2.1.4.min.js: 3 functions.js: 75

Object {data: "Ваш сеанс истек из-за неактивности.", Статус: 409, config: Object, statusText: "Conflict"}

Номер подтверждения сеанса может быть доступен только один раз, после этого он выдаст 500 внутренних ошибок сервера (эта логика, которую я написал, здесь не включена),

Вход в систему работает, когда я получаю номер подтверждения сеанса вручную из браузера и передаю его как значение _dynSessConf вручную в коде

Пожалуйста помоги.

1 ответ

Решение

В некоторых библиотеках JSON, таких как org.json, есть проблема с анализом больших значений long. Они дают немного другое значение для больших длин, что в точности соответствует моему коду,

SessionConfirmationNumber Возвращается через JSON как тип данных Long, и я получаю округленное значение, так как SessionConfirmationNumber было большим.

Я использовал запрос xmlHttp для решения этой проблемы.

var xmlHttp = new XMLHttpRequest();
        xmlHttp.open( "GET", "http://IP:PORT/rest/model/atg/rest/SessionConfirmationActor/getSessionConfirmationNumber", false ); 
        xmlHttp.send();
        console.log(xmlHttp.responseText);

Слава Богу:)

Другие вопросы по тегам