Jira Rest Java Клиент: ошибка «403 запрещено» - PullRequest
1 голос
/ 03 мая 2020

Я уже несколько дней пытаюсь подключиться к серверу Jira (с базовым c auth), но не могу заставить его работать. Я всегда получаю ошибку «403 Forbidden». Тем временем я отчаянно отчаиваюсь и надеюсь, что кто-то может мне помочь.

Пример кода выглядит так:

public class Main
{
    private static final String JIRA_URL = "https://jira.mycompany.com/rest/api/latest/project/";
    private static String auth = new String(Base64.encode("admin" + ":" + "password"));
    private static String headerAuthorization = "Authorization";
    final static String headerAuthorizationValue = "Basic " + auth;
    final static String headerType = "application/json";


    public static void main(String[] args) throws Exception
    {
        Client client = Client.create();
        WebResource webResource = client.resource(JIRA_URL);

        ClientResponse response = webResource.header(headerAuthorization,headerAuthorizationValue).type(headerType).accept("application/json").get(ClientResponse.class);

        int statusCode = response.getStatus();
        if (statusCode == 401) {
            throw new AuthenticationException("401 Invalid Username or Password");
            } else if (statusCode == 403) {
                throw new AuthenticationException("403 Forbidden");
                }
    }

}

Как уже написано, я всегда получаю ошибку 403. :( Если я ввожу URL-адрес в браузере, он работает без проблем, так что я абсолютно в растерянности. Может кто-нибудь увидеть, что я делаю не так? Большое спасибо за вашу помощь!

Редактировать 2020-05-03

По предложению PiRocks я однажды попытался сравнить вызовы.

Вызов в браузере: enter image description here

Заголовок: enter image description here

Мне это выглядит одинаково, но, к сожалению, я не знаю много деталей в шапке. Есть ли различия в моем код?

Почтальон: Кроме того, я попытался сделать запрос с Почтальоном. Это тоже работает. Тип авторизации также "Basi c Auth". enter image description here

Как видите, я получил код состояния 200, и все заработало. По моему мнению, запрос идентичен моему коду, не так ли?

Кроме того, я попробовал код из Почтальон, но, как ни странно, я получаю сообщение об ошибке 403. Даже с этим кодом. enter image description here

У кого-нибудь еще есть идеи? Если подумать, что может быть не так ...: (

1 Ответ

0 голосов
/ 09 мая 2020

Я нашел ошибку. Мне пришлось установить прокси, хотя я был подключен к сети компании через VPN:

System.getProperties().put("https.proxyHost", proxyHost);
System.getProperties().put("https.proxyPort", proxyPort);
System.getProperties().put("https.proxyUser", proxyUser);
System.getProperties().put("https.proxyPassword", proxyPassword);
System.getProperties().put("https.proxySet", "true");

Теперь все работает. Эта глупая простая ошибка стоила мне много дней ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...