我嘗試編寫訪問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