Я пытаюсь перевести разговор сервис-брокера в другой групповой разговор. Код:Ошибка перевода разговоров
declare @handle uniqueidentifier;
declare @conversationGroup uniqueidentifier;
begin dialog conversation @handle
from service ConsolidatorService
to service 'ConsolidatorTargetService'
on contract [//Gereon/Consolidator/ConsolidatorContract]
with encryption = off;
get conversation group @conversationGroup from [ConsolidatorTargetQueue];
if(@conversationGroup is not null)
move conversation @handle to @conversationGroup;
send on conversation @handle message type [//Gereon/Consolidator/GeBasicChangesMessage]
(@MessageBody);
Но SQL Server возвращает мне ошибку назначения разговор группы '60EEBC15-E75E-E611-80CC-00155D090304' недействителен.
Я не могу понять, почему group_conversation_id возвращен путем получения разговора недействителен.
Спасибо
Что я пытаюсь сделать, так это создать триггер, который отправляет сообщения в очередь, а с другой стороны получает их хранимая процедура. Но я хочу, чтобы сообщения были скоррелированы в той же группе talk_group. Не важно порядок сообщений, но разговор важен, потому что sp должен получать все сообщения, коррелированные с той же корреляцией_group_id (sp получает только 1 msg за раз). Я пробовал это [ссылка] (http://stackoverflow.com/questions/38878407/ms-sql-server-2012-service-broker-begin-conversation-error?noredirect1_comment65142517_38878407), но без успеха – zappasan
Обратное направление должно отлично работать для вас. –
Хорошо, я уже пытался написать начальное диалоговое окно таким образом «от ConsolidatorTarget до ConsolidatorTargetService», и он работает. Но это звучит немного странно, написав диалог начала для инициатора таким образом, потому что служба инициатора не является целью. – zappasan