J'essaye de déboguer mon application web java mvc avec eclipse. Cependant, le débogage n'entre pas dans ma classe de service appelée depuis mon contrôleur. Je peux déboguer au point que mon contrôleur appelle la méthode "getReportsService.getAppReportLinksFromIQ (appid)" mais il n'entre jamais dans la classe de service en utilisant F5 dans eclipse. Donc, tout ce que je vois est le résultat 'nullPointerException', les résultats de tout ce qu'il n'a pas aimé dans la méthode.

code du contrôleur:

try {
    reports = getReportsService.getAppReportLinksFromIQ(appid);
} catch (Exception e) {
    e.printStackTrace();
}

code de service REMARQUE: l'URL de l'appel n'est pas la véritable URL

@Service
public class GetReportsServiceImpl implements GetReportsService {

    @Override
    public String getAppIdFromIQ(String appId) {

        RestTemplate restTemplate = new RestTemplate();
        //Get encode Application ID

        String getAppIdUrl = "http://url" + appId;
        AppIdDTO response = restTemplate.getForObject(getAppIdUrl + "/1", AppIdDTO.class);
        return response.getId();
    }
0
bbboomer 26 janv. 2019 à 21:26

3 réponses

Meilleure réponse

La seule raison que je vois pour que cela se produise est que getReportsService est nul. Sinon, l'exécution doit entrer la méthode.

Si ce n'est pas le cas, veuillez consulter le stacktrace de NPE pour trouver la ligne exacte.

BTW, je suppose que vous vouliez dire getAppIdFromIQ pas getAppReportLinksFromIQ

0
sairamch04 27 janv. 2019 à 03:48

Votre commentaire m'a fait regarder de plus près quelque chose. J'avais spécifié ce qui suit dans ma classe de service

GetReportsService getReportsService;

J'ai changé pour

@Resource private GetReportsService getReportsService;

Cela a résolu le problème. Merci

0
bbboomer 26 janv. 2019 à 19:13

Veuillez revérifier le nom de la méthode appelante dans le contrôleur et le nom de la méthode dans la classe de service. Le nom de la méthode doit être le même dans les deux.

0
p285 26 janv. 2019 à 19:00