ews-java-api 创建新约会
ews-java-api create new appointment
我想创建一个简单的 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
原来 Java 11 不再包含 jaxws-api.jar,我必须在 https://mvnrepository.com/artifact/javax.xml.ws/jaxws-api/2.2.1 下载 jar,然后将其导入我的项目。
Eris Suryaputra,你为什么要用这么过时的东西?
此外,对于您和任何使用 EWS 的人,请注意,到 2020 年 10 月 13 日,Microsoft 预计所有拥有依赖于 Office 365 集成的 Exchange Web 服务的第三方工具的管理员都将切换到 Microsoft Graph .同一天,EWS 中对基本身份验证的支持将完全停止,如您在 https://www.codementor.io/@anananet/using-java-to-integrate-with-microsoft-exchange-server-15h1qq0lzg 处所见。
我想创建一个简单的 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
原来 Java 11 不再包含 jaxws-api.jar,我必须在 https://mvnrepository.com/artifact/javax.xml.ws/jaxws-api/2.2.1 下载 jar,然后将其导入我的项目。
Eris Suryaputra,你为什么要用这么过时的东西?
此外,对于您和任何使用 EWS 的人,请注意,到 2020 年 10 月 13 日,Microsoft 预计所有拥有依赖于 Office 365 集成的 Exchange Web 服务的第三方工具的管理员都将切换到 Microsoft Graph .同一天,EWS 中对基本身份验证的支持将完全停止,如您在 https://www.codementor.io/@anananet/using-java-to-integrate-with-microsoft-exchange-server-15h1qq0lzg 处所见。