2

我使用 commons-httpclient 从 PostMethod 收到此错误

DIGEST 'realm'@localhost 没有可用的凭据

并从服务器返回 401。

我按照这篇文章 java 客户端程序中的示例使用 HttpClient API (2) 发送摘要身份验证请求

但是,它似乎仍然失败。

我正在尝试连接到 XML-RPC 服务,我们使用摘要身份验证。我尝试使用 Apache xmlrpc 库,但它似乎不支持摘要式身份验证。

有任何想法吗?

谢谢。

4

1 回答 1

1

我正在尝试做同样的事情。我的 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摘要身份验证。你能解释一下你是怎么做到的吗?谢谢,

于 2010-05-04T13:27:49.987 回答