Использование на шине сибелёвского адаптера настроенного на БК не явл глав комп внутри БО

Nov 29, 2013 11:52


Если мы сибелёвским адаптером обращаемся(обновляем/создаём/редактируем и т.д.) к главному БК в БО то всё понятно. Пример этого:



DECLARE CampmemSMS NAMESPACE 'http://www.ibm.com/xmlns/prod/wbi/j2ca/siebel/bocampaignmemberssmsbccampaignmemberssms';
SET OutputRoot.DataObject.CampmemSMS:BOCampaignMembersSMSBCCampaignMembersSMS.CampaignId=Environment.CampaignId;
SET OutputRoot.DataObject.CampmemSMS:BOCampaignMembersSMSBCCampaignMembersSMS.Id=ref.(XMLNSC.Attribute)ClientId;
SET OutputRoot.DataObject.CampmemSMS:BOCampaignMembersSMSBCCampaignMembersSMS.Status='передано';
SET OutputRoot.DataObject.CampmemSMS:BOCampaignMembersSMSBCCampaignMembersSMS.Comments=SUBSTRING(ref from 1 for 1499);

Однако если мы хотим работать с БК не являющимся главным компонентов в БО, то начинаются проблемы. Во первых нельзя просто создать адаптер нацеленный на произвольный БК в пределах БО (если не включать главный БК в данном БО). Просто нельзя.

То есть придётся в любом случае включать главный БК в пределах данного БО даже если мы обращаемся к другому (не главному) БК. Однако и это ещё не всё. Обращаться нужно через так называемый контейнер (смотри что создаётся в МессаджСете при создании адаптера включающего главный БК в пределах БО и какой-нибудь ещё БК).

InputRoot.DataObject.CampmemContainerSMS:BOCampaignMembersSMSBCCampaignMembersSMSContainer[<].BOCampaignMembersSMSBCCampaignMembersSMS[<].TreatmentId;

DECLARE CampmemContainerSMS NAMESPACE 'http://www.ibm.com/xmlns/prod/wbi/j2ca/siebel/bocampaignmemberssmsbccampaignmemberssmscontainer';
DECLARE CampmemSMS NAMESPACE 'http://www.ibm.com/xmlns/prod/wbi/j2ca/siebel/bocampaignmemberssmsbccampaignmemberssms';



Важное примечание: В случае если вы добавляете новый сибелёвский адаптер настроенный на БО уже использующийся в другом адаптере в данном потоке и кладёте его в тот же самый мессадж-сет. То вы должны учитывать, что поведение других адаптеров настроенных на данный бо может измениться так как это поведение храниться в месадж-сете, а вы как раз его и изменяете. Выход есть. Создавайте другой мессадж-сет.

Частные вопросы, ibm websphere mq/mb, БК, интеграция

Previous post Next post
Up