4

Exchange サーバー (バージョン 10) から電子メールの添付ファイルを取得するアプリケーションを Java で開発しています。Windows 7 (32 ビット) PC を使用しています。私のコードは正常にコンパイルされていますが、実行時にエラーが発生します-

May 20, 2013 5:58:46 PM org.apache.commons.httpclient.auth.AuthChallengeProcessor selectAuthScheme
INFO: NTLM authentication scheme selected
May 20, 2013 5:58:47 PM org.apache.commons.httpclient.HttpMethodDirector processWWWAuthChallenge
INFO: Failure authenticating with NTLM <any realm>@autodiscover.mydomain.com:443


私のコードは -

ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010);
    ExchangeCredentials credentials;
    credentials = new WebCredentials("myuser", "mypwd","mydomain");
    service.setCredentials(credentials);
    service.autodiscoverUrl("user@domain.com");

この NTLM 認証エラーを解決するにはどうすればよいですか?

4

2 に答える 2

0

私の場合、認証設定の順序が間違っていました。コードを編集して変更しました。EX_2007_SP3 を使用しています。

microsoft.exchange.webservices.data.HttpClientWebRequest:prepareConnection()andprepareAsyncConnection()メソッドで、認証の優先順位を変更しました

から、

authPrefs.add(AuthPolicy.NTLM);
authPrefs.add(AuthPolicy.BASIC);
authPrefs.add(AuthPolicy.DIGEST);

に、

authPrefs.add(AuthPolicy.BASIC);
authPrefs.add(AuthPolicy.NTLM);
authPrefs.add(AuthPolicy.DIGEST);

そして、それはまだ機能しています :) 一部の開発者が NEGOTIATE も使用しているのを見てきました。

お役に立てれば。

于 2014-02-21T08:48:29.933 に答える
0

トレースを有効にする: service.setTraceEnabled(true); Exchange のバージョンが 2010 であることを確認します。このガイドを使用して確認してください

も削除してみてくださいservice.autodiscoverUrl("user@domain.com");

于 2013-06-11T14:31:37.777 に答える