private XmlNodeList GetAffectedOperations()
{
XmlNodeList ops = null;
XmlNodeList ports = GetAffectedPortTypes();
if (ports != null)
{
StringBuilder sb = new StringBuilder(1000);
foreach (XmlNode n in ports)
{
if (sb.Length != 0)
{
sb.Append(" or ");
}
sb.AppendFormat("(../@name='{0}')", n.Attributes["name"].Value);
}
string selectStr = String.Format(CultureInfo.CurrentCulture, "/wsdl:definitions/wsdl:portType/wsdl:operation[{0}]", sb.ToString());
ops = xdoc.SelectNodes(selectStr, nsmgr);
foreach (XmlNode p in ops)
{
Trace.WriteLine("operation: " + p.Attributes["name"].Value);
}
if (ops.Count == 0)
{
ops = null;
}
}
return ops;
}