/// <summary> /// Returns metadata about the variables/types (and optionally dialogs & mapping info) /// for the indicated template's interview. /// </summary> /// <param name="template">The template for which to retrieve component information.</param> /// <param name="includeDialogs">Indicates whether or not information about dialogs should be included.</param> /// <param name="logRef">This parameter lets you specify information that will be included in usage logs for this call. For example, you can use a string to uniquely identify the end user that initiated the request and/or the context in which the call was made. When you review usage logs, you can then see which end users initiated each request. That information could then be used to pass costs on to those end users if desired.</param> /// <returns></returns> public ComponentInfo GetComponentInfo(Template template, bool includeDialogs, string logRef) { // Validate input parameters, creating defaults as appropriate. string logStr = logRef == null ? string.Empty : logRef; if (template == null) { throw new ArgumentNullException("template", @"Cloud.Services.GetComponentInfo: The ""template"" parameter must not be null, logRef: " + logStr); } ComponentInfo result; using (var client = new SoapClient(_subscriberID, _signingKey, HostAddress, ProxyAddress)) { result = client.GetComponentInfo(template, includeDialogs, logRef); } return(result); }