내가 Exchange 서버에 연결하려고하면, 내가 401 오류가 : 같은 userId를 함께 (교환 웹 서비스 (EWS) 자바 API 광고 : 401 권한이
microsoft.exchange.webservices.data.core.exception.service.remote.ServiceRequestException: The request failed. The request failed. The remote server returned an error: (401)Unauthorized
내가 https://ewseditor.codeplex.com/ 테스트를 userPw, 도메인 및 URL) 그리고 그것은 완벽하게 작동합니다.
이 내 실제 코드 :
public static void main(String[] args)
{
try {
CustomExchangeService service = new CustomExchangeService(version);
ExchangeCredentials credentials = new WebCredentials(userId, userPw,domain);
service.setUrl(new URI(url));
service.setCredentials(credentials);
service.setTraceEnabled(true);
Folder.bind(getInstance().service, WellKnownFolderName.Inbox, PropertySet.IdOnly);
} catch (Exception e) {
e.printStackTrace();
}
}
그리고이 방법 클래스 CustomExchangeService :
protected Registry<ConnectionSocketFactory> createConnectionSocketFactoryRegistry() {
try {
return RegistryBuilder.<ConnectionSocketFactory>create()
.register(EWSConstants.HTTP_SCHEME, new PlainConnectionSocketFactory())
.register(EWSConstants.HTTPS_SCHEME, EwsSSLProtocolSocketFactory.build(
null, NoopHostnameVerifier.INSTANCE
))
.build();
} catch (GeneralSecurityException e) {
throw new RuntimeException(
"Could not initialize ConnectionSocketFactory instances for HttpClientConnectionManager", e
);
}
}
가 왜이 오류가 있나요? 어쩌면 SSL 때문에?
도움을 주셔서 감사합니다.
오류는 자격 증명입니다. 사용자 이름으로 UPN을 사용하려는 자격 증명 형식을 확인한 다음 자격 증명에 대한 사용자 이름, 암호 만 필요합니다. –
해결 : 서버에서 인터넷 정보 서비스 (IIS) 관리자를 엽니 다. EWS를 찾으려면 왼쪽에 배치하십시오. 401 인증. – Gabriel