IWFWorkflowService svc = GetWorkflowService();
//Array of custom ID
string[] customIDs = …// for example,
	{"InfoPath:011eaf6c46ac4723b25b4db5772d9912", ….};
try
	{
    KeyValue[] keyValues = svc.GetCustomAttrsEx(customIDs);
    foreach (KeyValue kv in keyValues)
        {
        Console.WriteLine("ID:'{0}'", kv.Key);
        Console.WriteLine("Custom Attributes XML: '{0}'", kv.Value);
        WFCustomAttributes attrs = new WFCustomAttributes();
        Attrs.AttrXml = kv.Value;
        }
	}
catch (Exception ex)
	{
    Console.WriteLine("Failed! " + ShUtil.GetSoapMessage(ex));
	}