private void LoadOrchCorrelationSets(XmlDocument doc, XmlNamespaceManager mgr) { //===================================== // load orchestration correlation sets //===================================== if (doc != null) { try { XmlNodeList csNodes = doc.SelectNodes(".//om:Element[@Type='CorrelationDeclaration']", mgr); foreach (XmlNode csNode in csNodes) { CorrelationSet cs = new CorrelationSet(); XmlAttribute scopeAtt = csNode.Attributes.GetNamedItem("ParentLink") as XmlAttribute; if (scopeAtt != null && string.Compare(scopeAtt.Value, "Scope_CorrelationDeclaration", true) == 0) { cs.Scope = csNode.ParentNode.SelectSingleNode("om:Property[@Name='Name']", mgr).Attributes.GetNamedItem("Value").Value; } cs.Name = csNode.SelectSingleNode("om:Property[@Name='Name']", mgr).Attributes.GetNamedItem("Value").Value; cs.TypeName = csNode.SelectSingleNode("om:Property[@Name='Type']", mgr).Attributes.GetNamedItem("Value").Value; XmlNode descNode = csNode.SelectSingleNode("om:Property[@Name='AnalystComments']", mgr); if (descNode != null) { cs.Description = descNode.Attributes.GetNamedItem("Value").Value; } BizTalkBaseObject definingType = this.correlationSetTypes[cs.TypeName]; if (definingType != null) { cs.DefiningTypeId = definingType.Id; } this.correlationSets.Add(cs, true); } } catch (Exception ex) { TraceManager.SmartTrace.TraceError(ex); } } }
private void LoadOrchCorrelationTypes(XmlDocument doc, XmlNamespaceManager mgr) { //========================================= // load orchestration correlation set types //========================================= if (doc != null) { try { XmlNodeList csNodes = doc.SelectNodes(".//om:Element[@Type='CorrelationType']", mgr); foreach (XmlNode csNode in csNodes) { string typeName = csNode.SelectSingleNode("om:Property[@Name='Name']", mgr).Attributes.GetNamedItem("Value").Value; string orchName = csNode.ParentNode.SelectSingleNode("om:Property[@Name='Name']", mgr).Attributes.GetNamedItem("Value").Value; CorrelationSet cs = new CorrelationSet(); cs.Name = orchName + "." + typeName; XmlNodeList csPropertyNodes = csNode.SelectNodes("om:Element[@Type='PropertyRef']", mgr); foreach (XmlNode csPropertyNode in csPropertyNodes) { string propertyRef = csPropertyNode.SelectSingleNode("om:Property[@Name='Ref']", mgr).Attributes.GetNamedItem("Value").Value; cs.CorrelatedProperties.Add(propertyRef); } this.correlationSetTypes.Add(cs, true); } } catch (Exception ex) { TraceManager.SmartTrace.TraceError(ex); } } }