2

私はSOとAndroid開発の新人です。

まず、私の文法やスペルが正しくない場合はお詫び申し上げます。私は英語のネイティブ スピーカーではありません。

Spring for AndroidHTTP GET requestを介して実行しようとしています。401 ( ) などのエラーが発生したときにスローされる例外 ( ) をキャッチしようとするまでは、すべて正常に動作しているように見えます。HttpClientErrorExceptionHTTP 401 UNAUTHORIZED

何らかの理由で、Spring for Android はこの例外を としてスローしますnull

より明確にするために、これは私のコードです:

    protected Integer doInBackground(String... arg0) {
        String url = "http://192.168.0.105:8080/guniv/rest/test";

        String username = eTextUsername.getText().toString();
        String password = eTextPassword.getText().toString();

        // Setting Http BasicAuth headers
        HttpAuthentication authHeader = new HttpBasicAuthentication(username, password);
        HttpHeaders requestHeaders = new HttpHeaders();
        requestHeaders.setAuthorization(authHeader);
        HttpEntity<?> requestEntity = new HttpEntity<Object>(requestHeaders);

        RestTemplate restTemplate = new RestTemplate();
        restTemplate.getMessageConverters().add(new StringHttpMessageConverter());


        // Doing request!!
        try {
            ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.GET, requestEntity, String.class);
            Log.i("INFO", response.getBody());
        } catch (HttpClientErrorException e) { // e is null!!
            String message = "";
            if( e.getStatusCode() == HttpStatus.UNAUTHORIZED ) 
                message = "Incorrect username or password.";

            //do something here...

        } 

        return 0; // TODO
    }

なんらかの HTTP エラーが発生し、HttpClientErrorExceptionがキャッチされると、結果が になりnull、明らかにe.getStatusCode()がスローされNullPointerExceptionます。

誰かが以前にこの問題を抱えていましたか?

ありがとう、そして私の英語でごめんなさい!

4

0 に答える 0