예제 #1
0
파일: itemReader.cs 프로젝트: mxs00/APIDoc
        public void AddService(string sFolder)
        {
            XmlNode nSD = _xn.SelectSingleNode("l7:Resource/l7:Service/l7:ServiceDetail", _man);

            SrvProp oS = new SrvProp();

            oS.Name = _xn.AA_NodeText("l7:Name", _man);
            oS.Id   = _xn.AA_NodeText("l7:Id", _man);
            oS.Type = _xn.AA_NodeText("l7:Type", _man);

            oS.FolderId = nSD.AA_AttributeValue("folderId");
            oS.Version  = nSD.AA_AttributeValue("version");
            oS.Enabled  = nSD.AA_NodeText("l7:Enabled", _man);
            //oS.Url = nSrvMap.AA_NodeText("l7:ServiceMappings/l7:HttpMapping/l7:UrlPattern", _man);

            //get node for service mapping
            XmlNode nSrvMap = nSD.SelectSingleNode("l7:ServiceMappings/l7:HttpMapping", _man);

            oS.Url   = nSrvMap.AA_NodeText("l7:UrlPattern", _man);
            oS.Verbs = nSrvMap.AA_SubNodesTextDelimited("l7:Verbs/l7:Verb", _man);
            //get all properties
            XmlNodeList xlProp = nSD.SelectNodes("l7:Properties/l7:Property", _man);

            foreach (XmlNode xNode in xlProp)
            {
                string sKey = xNode.AA_AttributeValue("key");
                string sVal = xNode.InnerText;
                switch (sKey)
                {
                case "internal":
                    oS.Sinternal = sVal;
                    break;

                case "policyRevision":
                    oS.PolicyRevision = sVal;
                    break;

                case "soap":
                    oS.Soap = sVal;
                    break;

                case "tracingEnabled":
                    oS.TracingEnabled = sVal;
                    break;

                case "wssProcessingEnabled":
                    oS.WssProcessingEnabled = sVal;
                    break;
                }
            }

            //get node for service mapping
            XmlNodeList nPolNodes = _xn.SelectNodes("l7:Resource/l7:Service/l7:Resources/l7:ResourceSet/l7:Resource", _man);

            foreach (XmlNode xNode in nPolNodes)
            {
                string sType = xNode.AA_AttributeValue("type");
                if (sType == "policy")
                {
                    oS.PolicyRevision = xNode.AA_AttributeValue("version");
                    oS.PolicyXml      = xNode.InnerText;
                }
            }

            Tracker.addObject(oS.Id, oS);
            //if (_type == "SERVICE" )
            //   {
            sA.Append("");
            sA.AppendLine(oS.HeaderText());
            sA.AppendLine("====================================");
            sA.AppendLine("======Policy Text====================");
            sA.AppendLine("====================================");
            sA.Append("Policy version: "); sA.AppendLine(oS.PolicyRevision);
            sA.AppendLine();
            policyReader oP = new policyReader(oS.PolicyXml);

            sA.Append(oP.process());

            sA.AppendLine("====================================");
            sA.AppendLine("======Policy XML====================");
            sA.AppendLine("====================================");
            sA.AppendLine(oS.PolicyXml);

            //FileFuncs.WriteTxtFile(sFolder + @"\" + this.fileName(), sA.ToString());
            FileFuncs.WriteTxtFile(sFolder + @"\" + oS.FileName(), sA.ToString());

            //}
        }