我尝试编写访问Exchange Web服务以读取电子邮件的Java应用程序。因此,我使用由Microsoft提供的Exchange Web服务(EWS
)Java API。如何在Java中使用LDAP身份验证进行Exchange Web服务连接?
I already had several issues with it,我最终发现应该使用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("[email protected]");
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);
我按照上述说明修改了NTLM并完全按照此处所述从源代码进行编译,但仍收到相同的错误消息。我们决定在这里使用javamail实现:http://stackoverflow.com/a/18043717/445131 –
这个类是EwsJCIFSNTLMScheme(api 1.2)中的一个内部类, – oers