Navigating the Push Notification Sample Application
The push notification sample, which is included in the Microsoft Exchange Server 2010 SP2 Web Services Software Development Kit (SDK), comprises two applications. The first application creates a client Web service that accepts notifications from the server. The second application creates the subscription for the client.
This sample application is intended for instructional purposes only and is not meant to be installed in a production environment.
The client Web service includes the Interfaces.cs and PushNotificationClient.cs files. These files are located in the directory in which the Microsoft Exchange Server 2010 Web Services SDK is installed, in the Samples\PushNotification\PushNotificationClient\ folder.
The Interfaces.cs file contains autogenerated proxy classes and interfaces that were generated by using WSDL.exe. The INotificationServiceBinding interface is the main interface in this file.
Interfaces.cs was created by using WSDL.exe with the /serverInterface option. To generate this file, run WSDL.exe at the command line with the following arguments: wsdl /serverInterface NotificationService.wsdl types.xsd messages.xsd. NotificationService.wsdl is located in the directory in which the Exchange 2010 Web Services SDK is installed, in the Samples\PushNotification\ folder.
The PushNotficationClient.cs file contains the client Web service that implements the INotificationServiceBinding. This file implements the SendNotification method. The SendNotification method receives the notification and sends a response that specifies whether or not to unsubscribe from the notifications.
The push notification sample application that creates the subscription includes the PushNotificationSubscriber.cs file. This file is located in the directory in which the Exchange 2010 Web Services SDK is installed, in the Samples\PushNotification\PushNotificationSubscriber\ folder.
The PushNotificationSubscriber.cs file contains a single static method called SubscribeForPushNotifications. This application does the following:
Provides a callback function for handling certificates. This needs to be implemented.
Establishes the service binding.
Creates the request.
Identifies the events for which the client subscribes.
Identifies the frequency, in minutes, which the computer on which the Client Access server role is installed will send notifications.
Identifies the location of the client Web service that receives the notifications.
Sends the request with the subscription information and receives the response with the subscription identifier.