public static IDictionary<string, WebServiceInfo> CreateWebServicesInfos(IEnumerable<Type> webServiceTypes) { webServiceTypes.Where(t => t.BaseType == typeof(WebService)).ToList(); var webServiceInfos = new Dictionary<string, WebServiceInfo>(); foreach (var webServiceType in webServiceTypes) { var serviceAttribute = webServiceType.GetCustomAttribute(typeof(WebServiceAttribute)) as WebServiceAttribute; if (serviceAttribute == null) continue; var methodInfos = webServiceType.GetMethods(). Where(m => m.GetCustomAttribute(typeof(WebMethodAttribute), false) != null). ToDictionary(k => GetMethodName(k)); var webserviceInfo = new WebServiceInfo(webServiceType, serviceAttribute.Namespace, methodInfos); webServiceInfos.Add(webServiceType.Name, webserviceInfo); } return webServiceInfos; }
public SoapRequest(string methodName, WebServiceInfo webService, object[] arguments) { MethodName = methodName; WebService = webService; Arguments = arguments; }