HttpClient Commons-httpclient Digest Аутентификация - PullRequest
2 голосов
/ 20 апреля 2010

Я получаю эту ошибку от PostMethod, используя commons-httpclient

Нет доступных учетных данных для DIGEST 'realm' @ localhost

и обратно 401 с сервера.

Я последовал примеру из этого поста клиентская программа java для отправки дайджест-запроса аутентификации с использованием HttpClient API (2)

Тем не менее, он все еще кажется неудачным.

Я пытаюсь подключиться к службе XML-RPC, мы используем дайджест-проверку подлинности. Я попытался использовать библиотеку Apache xmlrpc, но она не поддерживает дайджест-проверку подлинности.

Есть идеи?

Спасибо.

1 Ответ

1 голос
/ 04 мая 2010

Я пытаюсь сделать то же самое. У меня теперь работает мой XML-RPC-клиент:

    public static short connectToBugTrackingXmlRpcServer() {
    try {
        XmlRpcClientConfigImpl xmlRpcClientConfig = new XmlRpcClientConfigImpl();
        xmlRpcClientConfig.setServerURL(new URL(CStudioGlobals.bugTrackingConfProperties.getUrlXmlRpcServer()));
        xmlRpcClientConfig.setBasicUserName(CStudioGlobals.bugTrackingConfProperties.getUsername());
        xmlRpcClientConfig.setBasicPassword(CStudioGlobals.bugTrackingConfProperties.getPassword());
        xmlRpcClientConfig.setEncoding("UTF-8");

        XmlRpcClient xmlRpcClient = new XmlRpcClient();
        xmlRpcClient.setConfig(xmlRpcClientConfig);

        CTrackerDynamicProxy xmlRpcProxy = new CTrackerDynamicProxy(xmlRpcClient);

        Ticket ticket = (Ticket)xmlRpcProxy.newInstance(Ticket.class);
        ticket.query(); // query some tickets

        return CONNECTION_SUCCESS;
    } catch (Throwable t) {
        t.printStackTrace();
        displayError(CStudioGlobals.localization.getTerm("error.title.Sql_error"),
                     CStudioGlobals.localization.getTerm("error.content._Invalid_connection"),
                     CStudioGlobals.localization.getTerm("error.resolution.Check_your_connection_settings"));
        return CONNECTION_RETRY;
    }
}

но я бы хотел использовать http-дайджест-аутентификацию. Не могли бы вы объяснить, как вы это сделали? Спасибо,

...