I missed something... The javadocs have been correct; they just didn't mention that the poll interval should be specified in milliseconds. It might be correct that you have to add the username to repositoryDomain when connecting to exchange as you also have to specify in the constructors credentials which user is taken to poll for events. This will fail if the user has no access to a specific path. So finally everything seems to be correct (except the fact that there are some mysterious methods in WebdavResource regarding subscriptions). Cheers, Daniel
> -----Urspr�ngliche Nachricht----- > Von: [EMAIL PROTECTED] > [mailto:slide-dev-return-15239-apmail- > [EMAIL PROTECTED] Im Auftrag von Daniel Florey > Gesendet: Mittwoch, 22. Dezember 2004 19:19 > An: 'Slide Developers Mailing List' > Betreff: AW: Event Notification (MS Exchange 2003) > > There seems to be a annoyance in the clientlib NotificationListener > regarding the poll method in combination with MS Exchange. > The only way to subscribe to a folder when using polling is the following: > > Credentials credentials = new UsernamePasswordCredentials("user", > "password"); > NotificationListener nl = new NotificationListener( > "myhost.mydomain.mytdl", > 3500, "ourexchangehost.de", 443, Protocol.getProtocol("https"), > credentials, > > "/exchange/username", 60000, true ); > > Note that the poll interval is in milliseconds!! The javadocs are wrong. > > nl.subscribe("Update", "/Kontakte", 1, 3600, 0, new Subscriber() { > public void notify(String uri, Map information) { > System.out.println("Event occured"); > } > }, credentials); > > So unfortunately you need to add the username to the repositoryDomain in > order to use event polling. > UDP based push should work fine. > > Regards, > Daniel > > > > -----Urspr�ngliche Nachricht----- > > Von: [EMAIL PROTECTED] > > [mailto:slide-dev-return-15236-apmail- > > [EMAIL PROTECTED] Im Auftrag von Daniel Florey > > Gesendet: Mittwoch, 22. Dezember 2004 18:58 > > An: 'Slide Developers Mailing List' > > Betreff: AW: Event Notification (MS Exchange 2003) > > > > I'll have a look at it. > > See my initial comments below: > > > > > -----Urspr�ngliche Nachricht----- > > > Von: slide-dev-return-15234-apmail- > [EMAIL PROTECTED] > > > [mailto:slide-dev-return-15234-apmail- > > > [EMAIL PROTECTED] Im Auftrag von Martin Berens > > > Gesendet: Mittwoch, 22. Dezember 2004 18:24 > > > An: [email protected] > > > Betreff: Event Notification (MS Exchange 2003) > > > > > > Hi, > > > > > > excuse me for posting this again in the developers group, > > > but I did not get an answer to this one in the users group. > > > > > > I try to subscribe for getting events from an Exchange calendar > > > folder (MS Exchange 2003) using Slide version 2.1 beta 2 > > > (tried it now with version 2.1 RC 1 - same result :(). > > > > > > Here is a code snippet of what I am trying (https disabled > > > on Exchange server for test purposes): > > > > > > ----- > > > > > > String strUser = "test.user"; > > > String strPassword = "password"; > > > > > > UsernamePasswordCredentials creds = > > > new UsernamePasswordCredentials( strUser, strPassword ); > > > > > > WebdavResource resource = new WebdavResource( > > > "http://ourexchangehost.de", creds ); > > > > > > // setup path for user's calendar folder > > > resource.setPath( "/exchange/" + strUser + "/Kalender" ); > > > > > > // ... > > > // I can read appointments now - works fine. > > > // So far so good... > > > // But then I try to subscribe for new member notifications in > > > // the calendar folder: > > > // (I suppose the constructor itself creates the UDP server > > > // listening on port 3500?) > > > > Yes > > > > > > > > NotificationListener nl = new NotificationListener( "localhost", > > 3500, > > > > If the exchange server is on a different server, you'll need to give a > > reachable ip-address or real hostname. "localhost" will not work as the > > exchange server will not try to connect to your machine, but to itself. > > > > > "ourexchangehost.de", 8080, > > > > Is your exchange server really running on port 8080? > > > > > new Protocol( "http", new DefaultProtocolSocketFactory(), 8080 ), > > > > use Protocol.getProtocol("http") instead > > > > > creds, "/exchange/" + strUser + "/Kalender", 1, true ); > > > > - repositoryDomain is "/exchange" not "/exchange/" + strUser + > "/Kalender" > > - Polling every second is no good idea as you'll get notified via UDP. > > This > > is only for the case that UDP connection will fail. So please use 30-60 > > seconds for polling in order to get good results. > > > > > > > > // EventSubscriber is a small class implementing the "Subsciber" > > > // interface; the following line causes the error: > > > nl.subscribe( Subscription.NEW_MEMBER_NOTIFICATION, > > > > I've no clue what the Subscription class means. Please use > > "Update/newmember" instead. > > > > > resource.toString(), > > > > This should be the path to the folder you want to listen to. > > In your case: strUser+"/Kalender" > > > > > DepthSupport.DEPTH_INFINITY, > > This is not supported by exchange. Use 1 instead. > > > > > > > 3600, > > > 1, > > > > This means, that all events will be collected for one second?? Makes > more > > sense to set it to 0 or a much larger value. > > > > > new EventSubscriber(), > > > creds ); > > > > > > // > > > // ... > > > // > > > > > > resource.close(); > > > > > > ----- > > > > > > I get the following error message: > > > > > > 16.12.2004 17:27:50 org.apache.webdav.lib.NotificationListener > subscribe > > > SCHWERWIEGEND: Subscription for > > > uri='http://ourexchangehost.de/exchange/test.user/Kalender' failed. > > > State: 404 > > > > > > State 404 means "Resouce not found", but I can get appointments from > > > that resource - it does definitely exist :) . > > > Does anyone have a clue what am I doing wrong? > > > Thanks for any help with this one. > > > > > > Regards, > > > > > > Martin > > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
