次の方法で共有


SOAP ヘッダーの使用によるクエリ通知のサブスクライブ

HTTP エンドポイントは、<notificationRequest> ヘッダー要素による通知要求をサポートします。<notificationRequest> 要素には、次の表に示す属性が含まれています。

属性 種類 説明

notificationId

text

要求のメッセージ文字列。

deliveryService

text

通知の配信先となる Service Broker サービスの名前。

timeout

int

要求のタイムアウト (省略可)。

<notificationRequest> 要素のスキーマの詳細については、「SOAP 要求メッセージの構造」を参照しくてださい。

SOAP を使用してクエリ通知をサブスクライブするには、<notificationRequest> 要素を SOAP ヘッダーに指定します。たとえば、次のヘッダーではタイムアウトが 10000 の通知サブスクリプションが作成されます。通知メッセージは、WebCacheNotifications Service Broker サービスに配信されます。

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

<notificationRequest> 要素を使用してクエリ通知をサブスクライブするには、アプリケーションが通知を要求する前に、基になる Service Broker オブジェクトを用意しておく必要があります。サブスクリプションを要求すると、アプリケーションはキューの監視を開始し、通知メッセージがキューに配信されると適切な処理を行います。

次の例では、WebCacheNotifications というキューを使用する WebCacheMessages という名前のサービスを作成し、ローカル データベースに WebCacheMessages サービスへのルートを作成します。

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' ;

コントラクト https://schemas.microsoft.com/SQL/Notifications/PostQueryNotification は、メッセージ交換の発信側が https://schemas.microsoft.com/SQL/Notifications/QueryNotification 型のメッセージを送信できることを指定しています。

SQL Server は、Service Broker を使用してクエリ通知を配信します。クエリ通知メッセージには、https://schemas.microsoft.com/SQL/Notifications/QueryNotification というメッセージ型名があります。Service Broker は、この型のメッセージを VALID_XML WITH SCHEMA COLLECTION として検証します。キューの監視と通知メッセージの処理は、アプリケーションが行います。なお、メッセージは SOAP メッセージを使用してキューから取得できます。また、通知メッセージを処理するストアド プロシージャや外部プログラムを記述することもできます。

クエリ通知メッセージを処理するアプリケーションの作成の詳細については、「Service Broker のプログラミングの概要」を参照してください。

参照

概念

通知の取得

その他の技術情報

SQL Server 2005 におけるネイティブ XML Web サービスの使用
Service Broker のプログラミングの概要

ヘルプおよび情報

SQL Server 2005 の参考資料の入手