我尝试编写一个访问 Exchange Web 服务以阅读电子邮件的 Java 应用程序。因此,我使用 Microsoft 提供的 Exchange Web Services ( EWS
) Java API。
我已经遇到了几个问题,我终于发现应该使用 LDAP 来完成身份验证。不幸的是,我不确定如何做这样的事情。EWS API 是否允许配置连接到 Exchange 服务器时使用的身份验证方案?如果是,如何配置?
这是我用于连接的代码,但它使用默认的身份验证方案,即NTLM
:
String url = "https//my-server/EWS/exchange.asmx";
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
service.setTraceEnabled(true);
service.setCredentials(new WebCredentials("user", "password"));
service.setUrl(url.toURI());
Mailbox mailbox = new Mailbox("foo@bar.com");
FolderId folder = new FolderId(WellKnownFolderName.Inbox, mailbox);
ItemView view = new ItemView(10);
view.getOrderBy().add(ItemSchema.DateTimeReceived, SortDirection.Descending);
FindItemsResults<Item> items = service.findItems(folder, view);