Compartir a través de


Usar un encabezado SOAP para suscribirse a notificaciones de consulta

Los extremos HTTP admiten solicitudes de notificación a través del elemento de encabezado <notificationRequest>. Un elemento <notificationRequest> contiene los atributos que se muestran en la tabla siguiente.

Atributo Tipo Descripción

notificationId

text

Cadena de mensaje de la solicitud.

deliveryService

text

Nombre del servicio Service Broker al que se entregan las notificaciones.

timeout

int

Tiempo de espera opcional para la solicitud.

Para obtener más información acerca del esquema del elemento <notificationRequest>, vea Estructura de los mensajes de solicitud SOAP.

Para suscribirse a una notificación de consulta utilizando SOAP, incluya el elemento <notificationRequest> en el encabezado SOAP. Por ejemplo, el siguiente encabezado crea una suscripción a notificaciones con un tiempo de espera de 10000. Los mensajes de notificación se entregan al servicio Service Broker WebCacheNotifications.

     <SOAP-ENV:Header>
         <sqloptions:notificationRequest  notificationId="NotificationMessage"
             timeout="10000"   deliveryService="WebCacheNotifications">
         </sqloptions:notificationRequest>
      </SOAP-ENV:Header>

Para suscribirse a una notificación de consulta utilizando el elemento <notificationRequest>, es preciso preparar los objetos de Service Broker subyacentes antes de que la aplicación pueda solicitar la notificación. Una vez solicitada la suscripción, la aplicación supervisa si hay un mensaje de notificación en la cola y reacciona de manera apropiada cuando llega el mensaje.

El ejemplo siguiente crea un servicio denominado WebCacheMessages que utiliza la cola WebCacheNotifications y crea una ruta al servicio WebCacheMessages en la base de datos local.

USE AdventureWorks ;

CREATE QUEUE WebSiteCacheMessages ;

CREATE SERVICE WebCacheNotifications
  ON QUEUE WebSiteCacheMessages
  ([https://schemas.microsoft.com/SQL/Notifications/PostQueryNotification]) ;

CREATE ROUTE
  WebCacheMessagesRoute
  WITH SERVICE_NAME = 'WebCacheNotifications',
       ADDRESS = 'LOCAL' ;

En el contrato https://schemas.microsoft.com/SQL/Notifications/PostQueryNotification se especifica que el iniciador de la conversación puede enviar mensajes del tipo https://schemas.microsoft.com/SQL/Notifications/QueryNotification.

SQL Server entrega las notificaciones de consulta mediante Service Broker. Un mensaje de notificación de consulta tiene el nombre de tipo de mensaje https://schemas.microsoft.com/SQL/Notifications/QueryNotification. Service Broker valida los mensajes de este tipo como VALID_XML WITH SCHEMA COLLECTION. La aplicación es responsable de supervisar la cola y procesar los mensajes de notificación. Tenga en cuenta que puede recuperar mensajes de una cola utilizando mensajes SOAP. También puede escribir un procedimiento almacenado o un programa externo para procesar los mensajes de notificación.

Para obtener más información acerca de cómo crear una aplicación para procesar mensajes de notificación de consulta, vea Introduction to Service Broker Programming.

Vea también

Conceptos

Obtener notificaciones

Otros recursos

Usar servicios Web XML nativos en SQL Server 2005
Introduction to Service Broker Programming

Ayuda e información

Obtener ayuda sobre SQL Server 2005