Przykładowy skrypt usługi
To Transact-SQL Przykładowy kod definiuje usługa, archiwa bez dokumentów XML.Dwa skrypty są uwzględniane: kontrakt skryptu i skryptów definicji usługa.Skrypt kontrakt definiuje typy wiadomości i kontrakt usługa.Definicja typ komunikatu i definicji kontrakt powinny być zgodne inicjujący usługa i usługa miejsce docelowe.Dlatego definicje znajdują się w skrypcie definicji oddzielne usługa, który można dystrybuować do baz danych obsługujących usługa inicjujący.Skrypt definicji usługa definiuje samej usługa.Ten skrypt powinien być uruchamiany tylko w bazie danych, który implementuje usługa miejsce docelowe.
Ostrzeżenie
Skrypt definicji usługa definiuje usługa miejsce docelowe, ale nie zawiera implementacji usługa.
Skrypt umowy
-- The contract script contains definitions that must be
-- present for both the intiating service and the target
-- service.
USE AdventureWorks2008R2;
GO
-- Create messages for each broker-to-broker
-- communication needed to complete the task.
-- Message for the initiator to send XML
-- to be archived.
CREATE MESSAGE TYPE
[//Adventure-Works.com/messages/ArchiveXML]
VALIDATION = WELL_FORMED_XML ;
GO
-- Message to return event archiving information.
CREATE MESSAGE TYPE
[//Adventure-Works.com/messages/AcknowledgeArchiveXML]
VALIDATION = WELL_FORMED_XML ;
GO
-- Create a service contract to structure
-- an event archiving conversation, using
-- the message types defined above.
CREATE CONTRACT
[//Adventure-Works.com/contracts/ArchiveXML/v1.0]
(
[//Adventure-Works.com/messages/ArchiveXML]
SENT BY INITIATOR,
[//Adventure-Works.com/messages/AcknowledgeArchiveXML]
SENT BY TARGET
) ;
GO
Skrypt definicji usługi
-- This script defines the target service. The
-- objects created by this script are only
-- required in a database that hosts the target
-- service.
USE AdventureWorks2008R2 ;
GO
-- Create the service queue that will receive
-- messages for conversations that implement
-- the ArchiveXML contract.
CREATE QUEUE ArchiveQueue ;
GO
-- Create the service object that exposes the
-- ArchiveEvents service contract and maps
-- it to the ArchiveQueue service queue.
CREATE SERVICE [//Adventure-Works.com/ArchiveService]
ON QUEUE ArchiveQueue
([//Adventure-Works.com/contracts/ArchiveXML/v1.0]) ;
GO