Неожиданный символ 60 — ошибка при попытке входа в RTC java API

Я пытаюсь войти в RTC java api 6.0.2, используя:

TeamPlatform.startup();
repo = TeamPlatform.getTeamRepositoryService().getTeamRepository(repoUri);
repo.registerLoginHandler(new ILoginHandler2() {
   public ILoginInfo2 challenge(ITeamRepository repo) {
      return new UsernameAndPasswordLoginInfo(userId, password);
   }
});
repo.login(monitor);

но я получаю сообщение об ошибке ниже при выполнении метода repo.login():

com.ibm.team.repository.common.TeamRepositoryException: Unexpected character 
   "60": line 3, column 1 
at com.ibm.team.repository.client.internal.TeamRepository.fetchClientVersionJSONObject(TeamRepository.java:1746)
at com.ibm.team.repository.client.internal.TeamRepository.access$0(TeamRepository.java:1699)
at com.ibm.team.repository.client.internal.TeamRepository$5.run(TeamRepository.java:1770)
at com.ibm.team.repository.client.internal.TeamRepository$5.run(TeamRepository.java:1)
at com.ibm.team.repository.client.internal.TeamRepository$3.run(TeamRepository.java:1328)
at com.ibm.team.repository.common.transport.CancelableCaller.call(CancelableCaller.java:79)
at com.ibm.team.repository.client.internal.TeamRepository.callCancelableService(TeamRepository.java:1323)
at com.ibm.team.repository.client.internal.TeamRepository.checkServerVersionMatches(TeamRepository.java:1773)
at com.ibm.team.repository.client.internal.TeamRepository.internalLogin(TeamRepository.java:1521)
at com.ibm.team.repository.client.internal.TeamRepository.login(TeamRepository.java:654)
at com.ibm.team.repository.client.internal.TeamRepository.login(TeamRepository.java:628)
at snippets.Snippet1.login(Snippet1.java:67)
at snippets.AllSnippets.main(AllSnippets.java:28)
Caused by: java.io.IOException: Unexpected character "60": line 3, column 1
at com.ibm.team.repository.common.json.internal.Tokenizer.next(Tokenizer.java:113)
at com.ibm.team.repository.common.json.internal.Parser.parse(Parser.java:30)
at com.ibm.team.repository.common.json.JSONObject.parse(JSONObject.java:72)
at com.ibm.team.repository.client.internal.TeamRepository.fetchClientVersionJSONObject(TeamRepository.java:1744)
... 12 more

Этот код работал нормально, но вдруг выдал эту ошибку. кто-нибудь знает, как решить эту проблему?


person Herbert Roberto    schedule 17.08.2018    source источник


Ответы (1)


При регистрации LoginHandler используйте ITeamRepository.ILoginHandler в качестве интерфейса и не используйте ILoginHandler2.

Я могу проверить фрагменты, поставляемые вместе с RTC Plain Java API, для получения дополнительных примеров. Рабочий код для 6.0.2 указан ниже.

public static ITeamRepository login(IProgressMonitor monitor) throws TeamRepositoryException {
    ITeamRepository repository = TeamPlatform.getTeamRepositoryService().getTeamRepository(REPOSITORY_ADDRESS);
    repository.registerLoginHandler(new ITeamRepository.ILoginHandler() {
        public ILoginInfo challenge(ITeamRepository repository) {
            return new ILoginInfo() {
                public String getUserId() {
                    return USER_AND_PASSWORD;
                }
                public String getPassword() {
                    return USER_AND_PASSWORD;                        
                }
            };
        }
    });
    monitor.subTask("Contacting " + repository.getRepositoryURI() + "...");
    repository.login(monitor);
    monitor.subTask("Connected");
    return repository;
}
person bchrabski    schedule 02.09.2018
comment
Я сделал это изменение, но это не работает для меня. Мой RTC 6.0.2 - person Herbert Roberto; 03.09.2018
comment
Какой URL вы используете в своем коде? это hostname:9443/jts? или что-то другое. - person bchrabski; 05.09.2018
comment
Я использую имя хоста/ccm. Вспоминая, что мой код работал отлично и вдруг выдал эту ошибку. На сервере не было обновлений - person Herbert Roberto; 06.09.2018
comment
У вас включен SSL, ваш сертификат все еще действителен? - person bchrabski; 07.09.2018
comment
Да, действует до 2019 года - person Herbert Roberto; 08.09.2018