示例#1
0
        private void LoadRoleLinks(XmlDocument doc, XmlNamespaceManager mgr, CollectionSorter comparer)
        {
            //=====================================
            // load role links
            //=====================================
            if (doc != null)
            {
                try
                {
                    XmlNodeList linkNodes = doc.SelectNodes(".//om:Element[@Type='ServiceLinkDeclaration']", mgr);

                    foreach (XmlNode linkNode in linkNodes)
                    {
                        OrchestrationRoleLink link = new OrchestrationRoleLink(linkNode, mgr);
                        this.roleLinks.Add(link, true);
                    }

                    this.roleLinks.Sort(comparer);
                }
                catch (Exception ex)
                {
                    TraceManager.SmartTrace.TraceError(ex);
                }
            }
        }
示例#2
0
        private void LoadOrchMessages(XmlDocument doc, XmlNamespaceManager mgr, CollectionSorter comparer)
        {
            //=====================================
            // load orchestration messages
            //=====================================
            if (doc != null)
            {
                try
                {
                    XmlNodeList msgNodes = doc.SelectNodes(".//om:Element[@Type='MessageDeclaration']", mgr);

                    foreach (XmlNode msgNode in msgNodes)
                    {
                        OrchestrationMessage msg = new OrchestrationMessage(msgNode, mgr);
                        this.messages.Add(msg, true);
                    }

                    this.messages.Sort(comparer);
                }
                catch (Exception ex)
                {
                    TraceManager.SmartTrace.TraceError(ex);
                }
            }
        }
示例#3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="bto"></param>
        /// <returns></returns>
        private void GetInfo(BizTalkCore.BtsOrchestration bto)
        {
            this.LoadInternalData(bto.BtsAssembly.DisplayName);

            //foreach (BizTalkCore.BtsOrchestration invokedOrchestration in bto.InvokedOrchestrations)
            //{
            //    this.invokedOrchestrations.Add(GetInfo(invokedOrchestration));
            //}

            XmlDocument         doc      = null;
            XmlNamespaceManager mgr      = null;
            CollectionSorter    comparer = new CollectionSorter(CollectionSorter.SortOrder.Ascending, "Name");

            LoadMainOrchDocument(ref doc, ref mgr);

            LoadOrchestrationVariables(doc, mgr, comparer);

            LoadOrchMessages(doc, mgr, comparer);

            LoadOrchMultipartMessages(doc, mgr);

            LoadOrchCorrelationTypes(doc, mgr);

            LoadOrchCorrelationSets(doc, mgr);

            LoadOrchTransforms(doc, mgr);

            LoadRoleLinks(doc, mgr, comparer);

            LoadCalledRules(doc, mgr);

            doc = null;
            mgr = null;
        }
示例#4
0
        private void LoadOrchestrationVariables(XmlDocument doc, XmlNamespaceManager mgr, CollectionSorter comparer)
        {
            //=====================================
            // load orchestration variables
            //=====================================
            if (doc != null)
            {
                try
                {
                    XmlNodeList varNodes = doc.SelectNodes(".//om:Element[@Type='VariableDeclaration']", mgr);

                    foreach (XmlNode varNode in varNodes)
                    {
                        OrchestrationVariable var = new OrchestrationVariable(varNode, mgr);
                        this.variables.Add(var, true);
                    }

                    this.variables.Sort(comparer);
                }
                catch (Exception ex)
                {
                    TraceManager.SmartTrace.TraceError(ex);
                }
            }
        }