2011-04-07 72 views
0

我打算使用Java EWS(Exchange Web服務)API。問題是我的Exchange需要ntlm,而我只能在該api中看到WebCredentials,而不是NetworkCredentials(在.net中可用的東西)。我當然會使用webcredentials獲得未經授權的異常。有關如何使用Java EWS API與ntlm連接到MS Exchange的任何想法?java ews api - 網絡憑據?

ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1); 
    ExchangeCredentials credentials = new WebCredentials("[email protected]", "&*^*^"); 

回答

0

您是否嘗試過用於EWS Java的託管API(它適用於Java)。它似乎充滿了bug,但包括一個NTLM實現。無論如何,它基本上使用JCIFS來做到這一點。

+0

嗯......它會是哪一個?你能給我鏈接嗎? – Dmitri 2011-04-08 02:42:58

+0

http://archive.msdn.microsoft.com/ewsjavaapi ...但再次看看所有的評論....選擇下載選項卡實際下載 – MJB 2011-04-09 03:04:58

+0

EWS Java API最近作爲一個開放源代碼項目發佈與MIT GitHub上的許可證。歡迎開發者爲他們遇到的錯誤提供修復。 https://github.com/OfficeDev/ews-java-api/ – vboctor 2014-09-22 01:07:26

1

試試這個。

ExchangeService service = new ExchangeService(); 
    ExchangeCredentials credentials = new WebCredentials("username", "pass"); 
    service.setCredentials(credentials);  
    service.setUrl(new URI("http://your/wsdlUrl.asmx?wsdl")); 

從那裏你可以調用Exchange服務的方法來查找使用搜索過濾器的項目或文件夾。

+0

用戶名不帶域或電子郵件地址 – Kelly 2011-05-03 16:53:17

+0

當然,該網址應該是「」https://your_exchange_server/EWS/Exchange.asmx「」,並且不包含'?wsdl'結尾? – Halvard 2013-08-14 09:44:55