ews-java-api创建新约会

时间:2019-04-26 08:44:22

标签: java ewsjavaapi

我想创建一个简单的java程序,为我的Outlook日历创建一个新约会,但是我不知道出了什么问题。

我还尝试发送一封简单的电子邮件,但它给出了相同的错误。

源代码:https://github.com/OfficeDev/ews-java-api/wiki/Getting-Started-Guide

public class test {
    static class RedirectionUrlCallback implements IAutodiscoverRedirectionUrl {
        public boolean autodiscoverRedirectionUrlValidationCallback(
                String redirectionUrl) {
            return redirectionUrl.toLowerCase().startsWith("https://");
        }
    }
    public static void main(String[] args){
        try {
            ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP2);
            ExchangeCredentials credentials = new WebCredentials("email@bc.ac.id", "password");
            service.setCredentials(credentials);
            service.autodiscoverUrl("email@bc.ac.id", new RedirectionUrlCallback());
            Appointment appointment = new Appointment(service);
            appointment.setSubject("Appointment for JAVA XML TEST");
            appointment.setBody(MessageBody.getMessageBodyFromText("Test Body Msg in JAVA"));
            SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Date startDate = formatter.parse("2019-04-16 12:00:00");
            Date endDate = formatter.parse("2019-04-16 13:00:00");
            appointment.setStart(startDate);//new Date(2010-1900,5-1,20,20,00));
            appointment.setEnd(endDate); //new Date(2010-1900,5-1,20,21,00));
            appointment.save();
        }
        catch (Exception e){
            System.out.println(e);
        }
    }
}

错误代码:

Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/ws/http/HTTPException
    at microsoft.exchange.webservices.data.core.ExchangeService.internalCreateItems(ExchangeService.java:593)
    at microsoft.exchange.webservices.data.core.ExchangeService.createItem(ExchangeService.java:657)
    at microsoft.exchange.webservices.data.core.service.item.Item.internalCreate(Item.java:245)
    at microsoft.exchange.webservices.data.core.service.item.Item.save(Item.java:386)
    at test.main(test.java:33)
Caused by: java.lang.ClassNotFoundException: javax.xml.ws.http.HTTPException
   at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
   at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
   at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
   ... 5 more

2 个答案:

答案 0 :(得分:0)

结果证明Java 11不再包含jaxws-api.jar,我必须在https://mvnrepository.com/artifact/javax.xml.ws/jaxws-api/2.2.1上下载jar,然后将其导入到我的项目中。

答案 1 :(得分:0)

Eris Suryaputra,您为什么要使用这种过时的东西?

此外,对于您和使用EWS的任何人,请注意,到2020年10月13日,Microsoft希望所有使用依赖于Exchange Web Services进行Office 365集成的第三方工具的管理员都将切换到Microsoft Graph。同日,如https://www.codementor.io/@anananet/using-java-to-integrate-with-microsoft-exchange-server-15h1qq0lzg所示,EWS中对基本身份验证的支持将完全停止。