Esempio n. 1
0
        internal void Load(BizTalkCore.BtsCatalogExplorer explorer, BizTalkCore.ReceivePort port)
        {
            TraceManager.SmartTrace.TraceIn(explorer);

            if (port != null)
            {
                this.QualifiedName       = String.Empty;
                this.authenticationType  = (AuthenticationType)Enum.Parse(typeof(AuthenticationType), ((int)port.Authentication).ToString());
                this.trackingType        = (TrackingType)Enum.Parse(typeof(TrackingType), ((int)port.Tracking).ToString());
                this.ApplicationName     = port.Application.Name;
                this.twoWay              = port.IsTwoWay;
                this.routeFailedMessages = port.RouteFailedMessage;
                this.CustomDescription   = port.Description;

                foreach (BizTalkCore.ReceiveLocation location in port.ReceiveLocations)
                {
                    ReceiveLocation rl = new ReceiveLocation(location.Name);
                    rl.Load(explorer, location);
                    rl.ParentPort = this.NameIdPair;
                    this.receiveLocations.Add(rl);
                }
            }

            TraceManager.SmartTrace.TraceOut();
        }
Esempio n. 2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="explorer"></param>
        /// <param name="orchestration"></param>
        internal void Load(BizTalkCore.BtsCatalogExplorer explorer, BizTalkCore.BtsOrchestration orchestration)
        {
            if (orchestration != null)
            {
                this.QualifiedName     = orchestration.AssemblyQualifiedName;
                this.Name              = orchestration.FullName;
                this.ApplicationName   = orchestration.Application.Name;
                this.CustomDescription = orchestration.Description;
                this.AssemblyName      = orchestration.AssemblyQualifiedName;

                if (orchestration.Host != null)
                {
                    this.host = new NameIdPair(orchestration.Host.Name, "");
                }

                foreach (BizTalkCore.OrchestrationPort port in orchestration.Ports)
                {
                    OrchestrationPort op = new OrchestrationPort(port.Name);
                    op.Load(port);
                    this.ports.Add(op);
                }

                this.GetInfo(orchestration);
            }
        }
 private void InitExplorer(string serverName, string databaseName)
 {
     TraceManager.SmartTrace.TraceIn();
     explorer = new BizTalkCore.BtsCatalogExplorer();
     explorer.ConnectionString = string.Format(ConnectionStringFormat, serverName, databaseName);
     CheckSSOPermissions();
     TraceManager.SmartTrace.TraceOut();
 }
Esempio n. 4
0
        private BizTalkCore.BtsAssembly GetAssemblyByDisplayName(BizTalkCore.BtsCatalogExplorer explorer)
        {
            foreach (BtsAssembly assembly in explorer.Assemblies)
            {
                if (assembly.DisplayName.Equals(this.DisplayName))
                {
                    return(assembly);
                }
            }

            return(null);
        }
Esempio n. 5
0
        public void Load(BizTalkCore.BtsCatalogExplorer explorer, BizTalkCore.Pipeline pipeline)
        {
            TraceManager.SmartTrace.TraceIn(explorer);

            this.Name            = pipeline.FullName;
            this.QualifiedName   = pipeline.AssemblyQualifiedName;
            this.AssemblyName    = pipeline.AssemblyQualifiedName;
            this.PipelineType    = (PipelineType)Enum.Parse(typeof(PipelineType), ((int)pipeline.Type).ToString());
            this.ApplicationName = pipeline.Application.Name;

            this.PrepareViewData(pipeline.AssemblyQualifiedName);

            TraceManager.SmartTrace.TraceOut();
        }
Esempio n. 6
0
        internal void Load(BizTalkCore.BtsCatalogExplorer explorer, BizTalkCore.Role role)
        {
            if (role != null)
            {
                this.QualifiedName   = String.Empty;
                this.serviceLinkType = role.ServiceLinkType;
                this.parentAssembly  = new NameIdPair(role.BtsAssembly.Name, "");

                foreach (BizTalkCore.EnlistedParty party in role.EnlistedParties)
                {
                    this.enlistedParties.Add(new NameIdPair(party.Party.Name, ""));
                }
            }

            return;
        }
Esempio n. 7
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="explorer"></param>
        internal override void FixReferences(BizTalkCore.BtsCatalogExplorer explorer)
        {
            TraceManager.SmartTrace.TraceIn(explorer);

            foreach (Schema importedSchema in this.importedSchema)
            {
                Schema s = this.Application.ParentInstallation.Schemas[importedSchema.Name] as Schema;

                if (s != null)
                {
                    importedSchema.Id = s.Id;
                }
            }

            TraceManager.SmartTrace.TraceOut();
        }
        internal void Load(BizTalkCore.BtsCatalogExplorer explorer, BizTalkCore.SendPortGroup group)
        {
            if (group != null)
            {
                this.QualifiedName     = String.Empty;
                this.status            = group.Status.ToString();
                this.CustomDescription = group.Description;
                this.ApplicationName   = group.Application.Name;

                // Filters
                if (group.Filter != string.Empty)
                {
                    this.FilterGroups = BizTalkInstallation.CreateFilterGroups(group.Filter);
                }
            }
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="explorer"></param>
        /// <param name="port"></param>
        internal void Load(BizTalkCore.BtsCatalogExplorer explorer, BizTalkCore.SendPort port)
        {
            if (port != null)
            {
                this.QualifiedName = String.Empty;
                // Basic properties
                this.trackingType         = (TrackingType)Enum.Parse(typeof(TrackingType), ((int)port.Tracking).ToString());
                this.priority             = port.Priority;
                this.twoWay               = port.IsTwoWay;
                this.dynamic              = port.IsDynamic;
                this.sendPipeline         = port.SendPipeline.FullName;
                this.ApplicationName      = port.Application.Name;
                this.RouteFailedMessage   = port.RouteFailedMessage;
                this.StopSendingOnFailure = port.StopSendingOnFailure;
                this.CustomDescription    = port.Description;

                // Encryption Certificates
                if (port.EncryptionCert != null)
                {
                    this.encryptionCert = new EncryptionCert(port.EncryptionCert);
                }

                // Receive pipeline if two way
                if (this.twoWay)
                {
                    this.receivePipeline = port.ReceivePipeline.FullName;
                }

                // Primary transport
                if (port.PrimaryTransport != null)
                {
                    this.primaryTransport = new TransportInfo(port.PrimaryTransport, true);
                }

                // Secondary transport
                if (port.SecondaryTransport != null && port.SecondaryTransport.Address.Length > 0)
                {
                    this.secondaryTransport = new TransportInfo(port.SecondaryTransport, false);
                }

                // Filters
                if (port.Filter != string.Empty)
                {
                    this.FilterGroups = BizTalkInstallation.CreateFilterGroups(port.Filter);
                }
            }
        }
Esempio n. 10
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="explorer"></param>
        /// <param name="host"></param>
        internal void Load(BizTalkCore.BtsCatalogExplorer explorer, BizTalkCore.Host host)
        {
            TraceManager.SmartTrace.TraceIn(explorer, host);

            this.defaultHost = host.IsDefault;
            this.groupName   = host.NTGroupName;

            ManagementObject wmiHost = this.GetInstance(ConfigClassName);

            int hostType = Convert.ToInt32(wmiHost.Properties["HostType"].Value.ToString());

            this.inprocess = hostType == 1 ? true : false;
            this.isolated  = hostType == 2 ? true : false;

            this.authTrusted         = (bool)wmiHost.Properties["AuthTrusted"].Value;
            this.hostTrackingEnabled = (bool)wmiHost.Properties["HostTracking"].Value;

            try
            {
                string q = "SELECT * FROM MSBTS_HostInstanceSetting WHERE HostName = \"" + this.Name + "\"";
                ManagementObjectSearcher mos = new ManagementObjectSearcher("root\\MicrosoftBizTalkServer", q);

                foreach (ManagementObject oReturn in mos.Get())
                {
                    HostInstance hi = new HostInstance();
                    hi.Name          = oReturn["RunningServer"].ToString();
                    hi.HostName      = oReturn["HostName"].ToString();
                    hi.Logon         = oReturn["Logon"].ToString();
                    hi.Disabled      = Convert.ToBoolean(oReturn["IsDisabled"].ToString());
                    hi.QualifiedName = hi.HostName + "_" + hi.Name + "_" + hi.Logon;


                    this.hostInstances.Add(hi, true);
                }
            }
            catch (Exception ex)
            {
                TraceManager.SmartTrace.TraceError(ex);
            }

            TraceManager.SmartTrace.TraceOut();
        }
Esempio n. 11
0
        internal override void FixReferences(BizTalkCore.BtsCatalogExplorer explorer)
        {
            TraceManager.SmartTrace.TraceIn(explorer);

            foreach (NameIdPair enlistedParty in this.enlistedParties)
            {
                Party party = this.Application.ParentInstallation.Parties[enlistedParty.Name] as Party;
                enlistedParty.Id = party.Id;
                party.LinkedRoles.Add(this.NameIdPair);
            }

            BizTalkAssembly asm = this.Application.ParentInstallation.Assemblies[parentAssembly.Name] as BizTalkAssembly;

            if (asm != null)
            {
                this.parentAssembly = asm.NameIdPair;
            }

            TraceManager.SmartTrace.TraceOut();
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="explorer"></param>
        internal override void FixReferences(BizTalkCore.BtsCatalogExplorer explorer)
        {
            TraceManager.SmartTrace.TraceIn(explorer);

            Schema s = this.Application.ParentInstallation.Schemas[this.sourceSchema.Name] as Schema;

            if (s != null)
            {
                this.sourceSchema = s.NameIdPair;
            }

            s = this.Application.ParentInstallation.Schemas[this.targetSchema.Name] as Schema;

            if (s != null)
            {
                this.targetSchema = s.NameIdPair;
            }

            TraceManager.SmartTrace.TraceOut();
        }
        /// <summary>
        ///
        /// </summary>
        internal override void FixReferences(BizTalkCore.BtsCatalogExplorer explorer)
        {
            TraceManager.SmartTrace.TraceIn(explorer);

            foreach (Host host in this.hosts)
            {
                host.FixReferences(explorer);
            }
            foreach (Protocol protocol in this.protocolTypes)
            {
                protocol.FixReferences(explorer);
            }
            foreach (Party party in this.parties)
            {
                party.FixReferences(explorer);
            }
            foreach (BizTalkApplication application in this.applications)
            {
                application.FixReferences(explorer);
            }
        }
Esempio n. 14
0
        /// <summary>
        ///
        /// </summary>
        internal override void FixReferences(BizTalkCore.BtsCatalogExplorer explorer)
        {
            TraceManager.SmartTrace.TraceIn(explorer);

            BizTalkCore.BtsAssembly assembly = this.GetAssemblyByDisplayName(explorer);

            if (assembly != null)
            {
                FixSchemaReferences(assembly);
                FixMapReferences(assembly);
                FixPipelineReferences(assembly);
                FixOrchReferences(assembly);
            }
            else
            {
                TraceManager.SmartTrace.TraceError("Could not locate assembly. References will not be fixed.");
            }

            TraceManager.SmartTrace.TraceOut();
            return;
        }
        /// <summary>
        ///
        /// </summary>
        internal override void FixReferences(BizTalkCore.BtsCatalogExplorer explorer)
        {
            TraceManager.SmartTrace.TraceIn(explorer);

            BizTalkCore.SendPortGroup group = explorer.SendPortGroups[this.Name];

            if (group != null)
            {
                // Send ports
                foreach (BizTalkCore.SendPort sendPort in group.SendPorts)
                {
                    SendPort sp = this.Application.SendPorts[sendPort.Name] as SendPort;

                    if (sp != null)
                    {
                        sp.SendPortGroups.Add(this.NameIdPair);
                        this.sendPorts.Add(sp.NameIdPair);
                    }
                }
            }

            TraceManager.SmartTrace.TraceOut();
        }
Esempio n. 16
0
        /// <summary>
        ///
        /// </summary>
        internal override void FixReferences(BizTalkCore.BtsCatalogExplorer explorer)
        {
            TraceManager.SmartTrace.TraceIn(explorer);

            // Host
            if (this.Host != null)
            {
                Host h = this.Application.ParentInstallation.Hosts[this.Host.Name] as Host;

                if (h != null)
                {
                    this.host = h.NameIdPair;
                    h.HostedOrchestrations.Add(this.NameIdPair);
                }
            }

            // Ports
            foreach (OrchestrationPort port in this.ports)
            {
                if (port.ReceivePortName != null)
                {
                    ReceivePort rp = this.Application.ParentInstallation.ReceivePorts[port.ReceivePortName.Name] as ReceivePort;

                    if (rp != null)
                    {
                        port.ReceivePortName = rp.NameIdPair;
                        rp.BoundOrchestrations.Add(this.NameIdPair);
                    }
                }

                if (port.SendPortName != null)
                {
                    SendPort sp = this.Application.ParentInstallation.SendPorts[port.SendPortName.Name] as SendPort;

                    if (sp != null)
                    {
                        port.SendPortName = sp.NameIdPair;
                        sp.BoundOrchestrations.Add(this.NameIdPair);
                    }
                }

                if (port.SendPortGroupName != null)
                {
                    SendPortGroup spg = this.Application.ParentInstallation.SendPortGroups[port.SendPortGroupName.Name] as SendPortGroup;

                    if (spg != null)
                    {
                        port.SendPortGroupName = spg.NameIdPair;
                        spg.BoundOrchestrations.Add(this.NameIdPair);
                    }
                }
            }

            // Maps
            foreach (NameIdPair transform in this.transforms)
            {
                Transform t = this.Application.ParentInstallation.Maps[transform.Name] as Transform;

                if (t != null)
                {
                    transform.Id = t.NameIdPair.Id;
                    t.Orchestrations.Add(this.NameIdPair);
                }
            }

            // Role links
            foreach (OrchestrationRoleLink roleLink in this.roleLinks)
            {
                if (roleLink.ConsumerRole != null)
                {
                    Role role = this.Application.ParentInstallation.Roles[roleLink.ConsumerRole.Name] as Role;

                    if (role != null)
                    {
                        roleLink.ConsumerRole.Id = role.Id;
                    }
                }

                if (roleLink.ProviderRole != null)
                {
                    Role role = this.Application.ParentInstallation.Roles[roleLink.ProviderRole.Name] as Role;

                    if (role != null)
                    {
                        roleLink.ProviderRole.Id = role.Id;
                    }
                }

                if (roleLink.InitiatingRole != null)
                {
                    Role role = this.Application.ParentInstallation.Roles[roleLink.InitiatingRole.Name] as Role;

                    if (role != null)
                    {
                        roleLink.InitiatingRole.Id = role.Id;
                    }
                }
            }

            // Shape Map
            if (this.artifactData != string.Empty && this.viewData != string.Empty)
            {
                try
                {
                    Bitmap bmp = this.GetImage();
                    bmp.Dispose();

                    XmlDocument doc = new XmlDocument();
                    doc.LoadXml(this.ArtifactData);

                    XmlNamespaceManager xnm = new XmlNamespaceManager(doc.NameTable);
                    xnm.AddNamespace("om", "http://schemas.microsoft.com/BizTalk/2003/DesignerData");

                    foreach (OrchShape os in this.ShapeMap)
                    {
                        switch (os.ShapeType)
                        {
                        case ShapeType.ReceiveShape:
                        case ShapeType.SendShape:
                            XmlNode shapeNode = doc.SelectSingleNode("//om:Element[@OID='" + os.Id + "']", xnm);

                            if (shapeNode != null)
                            {
                                os.PortName      = shapeNode.SelectSingleNode("om:Property[@Name='PortName']/@Value", xnm).Value;
                                os.OperationName = shapeNode.SelectSingleNode("om:Property[@Name='OperationName']/@Value", xnm).Value;
                                os.MessageName   = shapeNode.SelectSingleNode("om:Property[@Name='MessageName']/@Value", xnm).Value;
                            }
                            break;
                        }
                    }
                }
                catch (Exception ex)
                {
                    TraceManager.SmartTrace.TraceError(ex);
                }
            }

            TraceManager.SmartTrace.TraceOut();
            return;
        }
        /// <summary>
        ///
        /// </summary>
        internal override void FixReferences(BizTalkCore.BtsCatalogExplorer explorer)
        {
            TraceManager.SmartTrace.TraceIn(explorer);

            BizTalkCore.SendPort port = explorer.SendPorts[this.Name];

            if (port != null)
            {
                // Outbound Transforms
                if (port.OutboundTransforms != null)
                {
                    foreach (BizTalkCore.Transform transform in port.OutboundTransforms)
                    {
                        Transform t = this.Application.Maps[transform.FullName] as Transform;

                        if (t != null)
                        {
                            t.SendPorts.Add(this.NameIdPair);
                            this.outboundMaps.Add(t.NameIdPair);
                        }
                    }
                }

                // Inbound Transforms
                if (port.InboundTransforms != null)
                {
                    foreach (BizTalkCore.Transform transform in port.InboundTransforms)
                    {
                        Transform t = this.Application.Maps[transform.FullName] as Transform;

                        if (t != null)
                        {
                            t.SendPorts.Add(this.NameIdPair);
                            this.inboundMaps.Add(t.NameIdPair);
                        }
                    }
                }

                // Primary Transport
                if (this.primaryTransport != null)
                {
                    Protocol p = this.Application.ParentInstallation.ProtocolTypes[this.primaryTransport.Type] as Protocol;

                    if (p != null)
                    {
                        p.SendPorts.Add(this.NameIdPair);

                        foreach (NameIdPair handler in p.SendHandlers)
                        {
                            Host h = this.Application.ParentInstallation.Hosts[handler.Name] as Host;

                            if (h != null)
                            {
                                h.HostedSendPorts.Add(this.NameIdPair);
                            }
                        }
                    }
                }

                TraceManager.SmartTrace.TraceOut();
                return;
            }
        }
Esempio n. 18
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="explorer"></param>
 /// <param name="schema"></param>
 public void Load(BizTalkCore.BtsCatalogExplorer explorer, BizTalkCore.BtsAssembly assembly)
 {
     this.Name        = assembly.Name;
     this.displayName = assembly.DisplayName;
 }
Esempio n. 19
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="explorer"></param>
 /// <param name="schema"></param>
 public void Load(BizTalkCore.BtsCatalogExplorer explorer, BizTalkCore.Schema schema)
 {
     LoadSchemaMetadata(schema);
     LoadSchemaProperties(schema);
     ParseSchemaXml(schema);
 }
Esempio n. 20
0
        /// <summary>
        ///
        /// </summary>
        internal override void FixReferences(BizTalkCore.BtsCatalogExplorer explorer)
        {
            TraceManager.SmartTrace.TraceIn(explorer);

            // Host
            if (this.Host != null)
            {
                Host h = this.Application.ParentInstallation.Hosts[this.Host.Name] as Host;

                if (h != null)
                {
                    this.host = h.NameIdPair;
                    h.HostedOrchestrations.Add(this.NameIdPair);
                }
            }

            // Ports
            foreach (OrchestrationPort port in this.ports)
            {
                if (port.ReceivePortName != null)
                {
                    ReceivePort rp = this.Application.ParentInstallation.ReceivePorts[port.ReceivePortName.Name] as ReceivePort;

                    if (rp != null)
                    {
                        port.ReceivePortName = rp.NameIdPair;
                        rp.BoundOrchestrations.Add(this.NameIdPair);
                    }
                }

                if (port.SendPortName != null)
                {
                    SendPort sp = this.Application.ParentInstallation.SendPorts[port.SendPortName.Name] as SendPort;

                    if (sp != null)
                    {
                        port.SendPortName = sp.NameIdPair;
                        sp.BoundOrchestrations.Add(this.NameIdPair);
                    }
                }

                if (port.SendPortGroupName != null)
                {
                    SendPortGroup spg = this.Application.ParentInstallation.SendPortGroups[port.SendPortGroupName.Name] as SendPortGroup;

                    if (spg != null)
                    {
                        port.SendPortGroupName = spg.NameIdPair;
                        spg.BoundOrchestrations.Add(this.NameIdPair);
                    }
                }
            }

            // Maps
            foreach (NameIdPair transform in this.transforms)
            {
                Transform t = this.Application.ParentInstallation.Maps[transform.Name] as Transform;

                if (t != null)
                {
                    transform.Id = t.NameIdPair.Id;
                    t.Orchestrations.Add(this.NameIdPair);
                }
            }

            // Role links
            foreach (OrchestrationRoleLink roleLink in this.roleLinks)
            {
                if (roleLink.ConsumerRole != null)
                {
                    Role role = this.Application.ParentInstallation.Roles[roleLink.ConsumerRole.Name] as Role;

                    if (role != null)
                    {
                        roleLink.ConsumerRole.Id = role.Id;
                    }
                }

                if (roleLink.ProviderRole != null)
                {
                    Role role = this.Application.ParentInstallation.Roles[roleLink.ProviderRole.Name] as Role;

                    if (role != null)
                    {
                        roleLink.ProviderRole.Id = role.Id;
                    }
                }

                if (roleLink.InitiatingRole != null)
                {
                    Role role = this.Application.ParentInstallation.Roles[roleLink.InitiatingRole.Name] as Role;

                    if (role != null)
                    {
                        roleLink.InitiatingRole.Id = role.Id;
                    }
                }
            }

            // Shape Map
            if (this.artifactData != string.Empty && this.viewData != string.Empty)
            {
                try
                {
                    Bitmap bmp = this.GetImage();
                    bmp.Dispose();

                    XmlDocument doc = new XmlDocument();
                    doc.LoadXml(this.ArtifactData);

                    XmlNamespaceManager xnm = new XmlNamespaceManager(doc.NameTable);
                    xnm.AddNamespace("om", "http://schemas.microsoft.com/BizTalk/2003/DesignerData");

                    foreach (OrchShape os in this.ShapeMap)
                    {
                        switch (os.ShapeType)
                        {
                        case ShapeType.ReceiveShape:
                        case ShapeType.SendShape:
                            XmlNode shapeNode = doc.SelectSingleNode("//om:Element[@OID='" + os.Id + "']", xnm);

                            if (shapeNode != null)
                            {
                                os.PortName      = shapeNode.SelectSingleNode("om:Property[@Name='PortName']/@Value", xnm).Value;
                                os.OperationName = shapeNode.SelectSingleNode("om:Property[@Name='OperationName']/@Value", xnm).Value;
                                os.MessageName   = shapeNode.SelectSingleNode("om:Property[@Name='MessageName']/@Value", xnm).Value;
                            }
                            break;

                        case ShapeType.TransformShape:     // NJB TransformShape  -- CD Tidied this code.
                            XmlNode shapeNode2 = doc.SelectSingleNode("//om:Element[@OID='" + os.Id + "']", xnm);
                            XmlNode name       = shapeNode2.SelectSingleNode("om:Property[@Name='ClassName']/@Value", xnm);

                            if (name != null)
                            {
                                os.TransformName = name.Value;
                            }

                            XmlNodeList messagesIn = shapeNode2.SelectNodes("om:Element[@ParentLink='Transform_InputMessagePartRef']", xnm);

                            if (messagesIn != null)
                            {
                                foreach (XmlNode selectNode in messagesIn)
                                {
                                    foreach (XmlNode detail in selectNode.ChildNodes)
                                    {
                                        if (detail.Attributes != null)
                                        {
                                            if (detail.Attributes["Name"].Value == "MessageRef")
                                            {
                                                os.InputMessage += detail.Attributes["Value"].Value + ',';
                                            }
                                        }
                                    }
                                }
                            }

                            if (!string.IsNullOrEmpty(os.InputMessage))
                            {
                                os.InputMessage = os.InputMessage.Remove(os.InputMessage.LastIndexOf(","));
                            }

                            XmlNodeList messagesOut = shapeNode2.SelectNodes("om:Element[@ParentLink='Transform_OutputMessagePartRef']", xnm);

                            if (messagesOut != null)
                            {
                                foreach (XmlNode selectNode in messagesOut)
                                {
                                    foreach (XmlNode detail in selectNode.ChildNodes)
                                    {
                                        if (detail.Attributes != null)
                                        {
                                            if (detail.Attributes["Name"].Value == "MessageRef")
                                            {
                                                os.OutputMessage += detail.Attributes["Value"].Value + ',';
                                            }
                                        }
                                    }
                                }
                            }

                            if (!string.IsNullOrEmpty(os.OutputMessage))
                            {
                                os.OutputMessage = os.OutputMessage.Remove(os.OutputMessage.LastIndexOf(","));
                            }

                            break;
                        }
                    }
                }
                catch (Exception ex)
                {
                    TraceManager.SmartTrace.TraceError(ex);
                }
            }

            TraceManager.SmartTrace.TraceOut();
            return;
        }
Esempio n. 21
0
        /// <summary>
        ///
        /// </summary>
        internal override void FixReferences(BizTalkCore.BtsCatalogExplorer explorer)
        {
            TraceManager.SmartTrace.TraceIn(explorer);

            BizTalkCore.SendPort port = explorer.SendPorts[this.Name];

            if (port != null)
            {
                // Outbound Transforms
                if (port.OutboundTransforms != null)
                {
                    foreach (BizTalkCore.Transform transform in port.OutboundTransforms)
                    {
                        Transform t = this.Application.Maps[transform.FullName] as Transform;

                        if (t != null)
                        {
                            t.SendPorts.Add(this.NameIdPair);
                            this.outboundMaps.Add(t.NameIdPair);
                        }
                    }
                }

                // Inbound Transforms
                if (port.InboundTransforms != null)
                {
                    foreach (BizTalkCore.Transform transform in port.InboundTransforms)
                    {
                        Transform t = this.Application.Maps[transform.FullName] as Transform;

                        if (t != null)
                        {
                            t.SendPorts.Add(this.NameIdPair);
                            this.inboundMaps.Add(t.NameIdPair);
                        }
                    }
                }

                // Primary Transport CD 20140328
                if (this.primaryTransport != null)
                {
                    Protocol p = this.Application.ParentInstallation.ProtocolTypes[this.primaryTransport.Type] as Protocol;

                    if (p != null)
                    {
                        p.SendPorts.Add(this.NameIdPair);

                        Host h = this.Application.ParentInstallation.Hosts[port.PrimaryTransport.SendHandler.Name] as Host;

                        if (h != null)
                        {
                            h.HostedSendPorts.Add(this.NameIdPair);
                            // Added to document the Send Handler CD 20140328
                            // Amended for Secondary Transport Handler CD 20140403
                            this.PrimaryTransport.SendHandler = h.NameIdPair;
                        }

                        // Secondary Transport
                        if (this.secondaryTransport != null)
                        {
                            Protocol p2 = this.Application.ParentInstallation.ProtocolTypes[this.secondaryTransport.Type] as Protocol;

                            if (p2 != null)
                            {
                                if (p2 != p)
                                {
                                    p2.SendPorts.Add(this.NameIdPair);
                                }

                                Host h2 = this.Application.ParentInstallation.Hosts[port.SecondaryTransport.SendHandler.Name] as Host;

                                if (h2 != null & h2 != h)
                                {
                                    h2.HostedSendPorts.Add(this.NameIdPair);
                                    this.SecondaryTransport.SendHandler = h2.NameIdPair;
                                }
                            }
                        }
                    }
                }

                TraceManager.SmartTrace.TraceOut();
                return;
            }
        }
 internal void Load(BizTalkCore.BtsCatalogExplorer explorer, BizTalkCore.ProtocolType protocolType)
 {
     this.configurationGuid = protocolType.ConfigurationGuid.ToString();
     this.DecryptCapabilities(protocolType.Capabilities);
     this.GetHandlerInfo();
 }
Esempio n. 23
0
        //public NameIdPair SendHandler
        //{
        //    get { return this.sendHandler; }
        //    set { this.sendHandler = value; }
        //}

        #endregion

        #region Load

        /// <summary>
        ///
        /// </summary>
        /// <param name="explorer"></param>
        /// <param name="port"></param>
        internal void Load(BizTalkCore.BtsCatalogExplorer explorer, BizTalkCore.SendPort port)
        {
            if (port != null)
            {
                this.QualifiedName = String.Empty;
                // Basic properties
                this.trackingType = (TrackingType)Enum.Parse(typeof(TrackingType), ((int)port.Tracking).ToString());
                this.priority     = port.Priority;
                this.twoWay       = port.IsTwoWay;
                this.dynamic      = port.IsDynamic;
                //this.sendPipeline = port.SendPipeline.FullName;

                // Fix so to have link for Send Pipeline  CD 20140404
                Pipeline pl = this.Application.ParentInstallation.Pipelines[port.SendPipeline.FullName] as Pipeline;
                if (pl != null)
                {
                    if (pl.Name == port.SendPipeline.FullName)  // Actually check that a match was found.
                    {
                        this.sendPipeline = pl.NameIdPair;
                    }
                    else
                    {
                        this.sendPipeline = new NameIdPair(port.SendPipeline.FullName, "");
                    }
                }

                this.ApplicationName      = port.Application.Name;
                this.RouteFailedMessage   = port.RouteFailedMessage;
                this.StopSendingOnFailure = port.StopSendingOnFailure;
                this.CustomDescription    = port.Description;

                // Encryption Certificates
                if (port.EncryptionCert != null)
                {
                    this.encryptionCert = new EncryptionCert(port.EncryptionCert);
                }

                // Receive pipeline if two way
                if (this.twoWay)
                {
                    //this.receivePipeline = port.ReceivePipeline.FullName; CD 20140405
                    Pipeline rpl = this.Application.ParentInstallation.Pipelines[port.ReceivePipeline.FullName] as Pipeline;
                    if (rpl != null)
                    {
                        if (rpl.Name == port.ReceivePipeline.FullName)  // Actually check that a match was found.
                        {
                            this.ReceivePipeline = rpl.NameIdPair;
                        }
                        else
                        {
                            this.ReceivePipeline = new NameIdPair(port.ReceivePipeline.FullName, "");
                        }
                    }
                }

                // Primary transport
                if (port.PrimaryTransport != null)
                {
                    this.primaryTransport = new TransportInfo(port.PrimaryTransport, true);
                }

                // Secondary transport
                if (port.SecondaryTransport != null && port.SecondaryTransport.Address.Length > 0)
                {
                    this.secondaryTransport = new TransportInfo(port.SecondaryTransport, false);
                }

                // Filters
                if (port.Filter != string.Empty)
                {
                    this.FilterGroups = BizTalkInstallation.CreateFilterGroups(port.Filter);
                }
            }
        }