public void DescribeSchema() { string schemaPath = Environment.CurrentDirectory + @"\K2.Demo.CRM.REST.ServiceBroker.xml"; SchemaObject schemaObject = SchemaManager.LoadSchemaXMLFile(schemaPath); //Populate the details of the current instance of the service base and create an instance of the service object SvcI.Name = schemaObject.ServiceInstanceName; SvcI.MetaData.DisplayName = schemaObject.ServiceInstanceDisplayName; SvcI.MetaData.Description = schemaObject.ServiceInstanceDescription; //Create the service object instance ServiceObject SO = new ServiceObject(schemaObject.ServiceInstanceName); SO.MetaData.DisplayName = schemaObject.ServiceInstanceDisplayName; SO.Active = true; //Create the properties for the serviceObject //Create a property for the serviceObject Property prop = null; //Dynamic Properties; foreach (SchemaObject.SchemaProperty sProp in schemaObject.SchemaProperties) { prop = SchemaManager.CreateProperty(sProp.Name, sProp.DisplayName, sProp.Description, sProp.TrueType, sProp.K2Type); //Add this property to the service object properties collection SO.Properties.Add(prop); } Method meth = null; foreach (SchemaObject.SchemaMethod sMeth in schemaObject.SchemaMethods) { meth = SchemaManager.CreateMethod(sMeth.Name, sMeth.DisplayName, sMeth.Description, sMeth.K2Type, sMeth.InputProperties, sMeth.RequiredProperties, sMeth.ReturnProperties); SO.Methods.Add(meth); } SvcI.ServiceObjects.Add(SO); }