Vishal Jaiswal
asked on
How to read real time cancel appointment in calendar using Exchanged server managed API
How to read real-time cancel appointment in the calendar using Exchanged server managed API
Getting below error:
microsoft.exchange.webserv ices.data. core.excep tion.servi ce.remote. ServiceRes ponseExcep tion: The specified object was not found in the store.
at microsoft.exchange.webserv ices.data. core.respo nse.Servic eResponse. internalTh rowIfNeces sary(Servi ceResponse .java:278)
at microsoft.exchange.webserv ices.data. core.respo nse.Servic eResponse. throwIfNec essary(Ser viceRespon se.java:26 7)
at microsoft.exchange.webserv ices.data. core.reque st.MultiRe sponseServ iceRequest .execute(M ultiRespon seServiceR equest.jav a:165)
at microsoft.exchange.webserv ices.data. core.Excha ngeService .internalB indToItems (ExchangeS ervice.jav a:1343)
at microsoft.exchange.webserv ices.data. core.Excha ngeService .bindToIte m(Exchange Service.ja va:1378)
at microsoft.exchange.webserv ices.data. core.Excha ngeService .bindToIte m(Exchange Service.ja va:1395)
at microsoft.exchange.webserv ices.data. core.servi ce.item.Ap pointment. bind(Appoi ntment.jav a:118)
at microsoft.exchange.webserv ices.data. core.servi ce.item.Ap pointment. bind(Appoi ntment.jav a:133)
at com.docasap.ihub.exchanges erverengin e.handler. e2d.Stream ingAppoint mentsHandl er.notific ationEvent Delegate(S treamingAp pointments Handler.ja va:96)
at microsoft.exchange.webserv ices.data. notificati on.Streami ngSubscrip tionConnec tion.issue Notificati onEvents(S treamingSu bscription Connection .java:524)
at microsoft.exchange.webserv ices.data. notificati on.Streami ngSubscrip tionConnec tion.handl eServiceRe sponseObje ct(Streami ngSubscrip tionConnec tion.java: 418)
at microsoft.exchange.webserv ices.data. notificati on.Streami ngSubscrip tionConnec tion.handl eResponseO bject(Stre amingSubsc riptionCon nection.ja va:562)
at microsoft.exchange.webserv ices.data. core.reque st.Hanging ServiceReq uestBase.p arseRespon ses(Hangin gServiceRe questBase. java:218)
at microsoft.exchange.webserv ices.data. core.reque st.Hanging ServiceReq uestBase.a ccess$000( HangingSer viceReques tBase.java :60)
at microsoft.exchange.webserv ices.data. core.reque st.Hanging ServiceReq uestBase$1 .run(Hangi ngServiceR equestBase .java:330)
at java.util.concurrent.Threa dPoolExecu tor.runWor ker(Thread PoolExecut or.java:11 52)
at java.util.concurrent.Threa dPoolExecu tor$Worker .run(Threa dPoolExecu tor.java:6 22)
at java.lang.Thread.run(Threa d.java:748 )
I am making subscription using below code:
FolderId folderId = new FolderId(WellKnownFolderNa me.Calenda r, new Mailbox("mytestemail@test. com"));
logger.info("folderId:: "+folderId.getUniqueId());
List<FolderId> folders = new ArrayList<FolderId>();
folders.add(folderId);
StreamingSubscriptionConne ction ssc = null;
try {
StreamingSubscription streamSub = service.subscribeToStreami ngNotifica tions(fold ers,
EventType.Created, EventType.Deleted,
EventType.Modified, EventType.Moved, EventType.Copied, EventType.NewMail); //EventType.FreeBusyChange d,
ssc = new StreamingSubscriptionConne ction(serv ice, subTimeout);
ssc.addSubscription(stream Sub);
ssc.addOnNotificationEvent (new StreamingAppointmentsHandl er());
ssc.addOnDisconnect(new SubscriptionRenewalHandler ());
ssc.addOnSubscriptionError (new SubscriptionRenewalHandler ());
ssc.open();
logger.info("Is subscription done: "+ssc.getIsOpen());
-------------------------- ----
Reading realtime as below:
ExchangeService service = args.getSubscription().get Service();
for (NotificationEvent event : args.getEvents()) {
if (event instanceof ItemEvent) {
logger.info("Captured event: " + event.getEventType().name( ));
ItemEvent itemEvent = (ItemEvent) event;
logger.info("Event Item ID: "+itemEvent.getItemId().ge tUniqueId( ));
switch (itemEvent.getEventType()) {
case Deleted:
logger.info("Deleted ");
case Modified:
logger.info("Modified ");
case Moved:
Appointment changedAppt = Appointment.bind(service, itemEvent.getItemId());
logger.info("Appointment IsCancelled: "+ changedAppt.getIsCancelled ());
logger.info("Appointment Subject: "+ changedAppt.getSubject());
logger.info("Appointment Start: "+ changedAppt.getStart());
logger.info("Appointment End: "+ changedAppt.getEnd());
logger.info("Appointment State: "+ changedAppt.getAppointment State());
Getting below error:
microsoft.exchange.webserv
at microsoft.exchange.webserv
at microsoft.exchange.webserv
at microsoft.exchange.webserv
at microsoft.exchange.webserv
at microsoft.exchange.webserv
at microsoft.exchange.webserv
at microsoft.exchange.webserv
at microsoft.exchange.webserv
at com.docasap.ihub.exchanges
at microsoft.exchange.webserv
at microsoft.exchange.webserv
at microsoft.exchange.webserv
at microsoft.exchange.webserv
at microsoft.exchange.webserv
at microsoft.exchange.webserv
at java.util.concurrent.Threa
at java.util.concurrent.Threa
at java.lang.Thread.run(Threa
I am making subscription using below code:
FolderId folderId = new FolderId(WellKnownFolderNa
logger.info("folderId:: "+folderId.getUniqueId());
List<FolderId> folders = new ArrayList<FolderId>();
folders.add(folderId);
StreamingSubscriptionConne
try {
StreamingSubscription streamSub = service.subscribeToStreami
EventType.Created, EventType.Deleted,
EventType.Modified, EventType.Moved, EventType.Copied, EventType.NewMail); //EventType.FreeBusyChange
ssc = new StreamingSubscriptionConne
ssc.addSubscription(stream
ssc.addOnNotificationEvent
ssc.addOnDisconnect(new SubscriptionRenewalHandler
ssc.addOnSubscriptionError
ssc.open();
logger.info("Is subscription done: "+ssc.getIsOpen());
--------------------------
Reading realtime as below:
ExchangeService service = args.getSubscription().get
for (NotificationEvent event : args.getEvents()) {
if (event instanceof ItemEvent) {
logger.info("Captured event: " + event.getEventType().name(
ItemEvent itemEvent = (ItemEvent) event;
logger.info("Event Item ID: "+itemEvent.getItemId().ge
switch (itemEvent.getEventType())
case Deleted:
logger.info("Deleted ");
case Modified:
logger.info("Modified ");
case Moved:
Appointment changedAppt = Appointment.bind(service, itemEvent.getItemId());
logger.info("Appointment IsCancelled: "+ changedAppt.getIsCancelled
logger.info("Appointment Subject: "+ changedAppt.getSubject());
logger.info("Appointment Start: "+ changedAppt.getStart());
logger.info("Appointment End: "+ changedAppt.getEnd());
logger.info("Appointment State: "+ changedAppt.getAppointment
This question needs an answer!
Become an EE member today
7 DAY FREE TRIALMembers can start a 7-Day Free trial then enjoy unlimited access to the platform.
View membership options
or
Learn why we charge membership fees
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.