Hi Tools: C#, .NET 1.1 and Biztalk 2004 I want to execute a policy rule which gets fired based on some input xml and database facts. I am able to pass the input xml facts but how to I pass the database facts information before executing policy. Basically, by passing "Role" information, I want to get "Salary" values which are stored in a database table. Following is the code snippet: -------------------------------------------------------------- Input XML: Manager CIO -------------------------------------------------------------- ---------------------------- public string Execute(string sRequestXML, out string sResponseXML, out string sErrorMsg) { sResponseXML = string.Empty; sErrorMsg = string.Empty; DebugTrackingInterceptor dti = new DebugTrackingInterceptor(@"C:\Biztalk\projects\EmployeeInfo\XSDs\jit.txt"); //create an instance of the XML object XmlDocument xd1 = new XmlDocument(); xd1.Load(@"C:\Biztalk\projects\EmployeeInfo\XSDs\Copy of EmpInfo_output.xml"); TypedXmlDocument doc1 = new TypedXmlDocument("EmpInfo",xd1); // create the array of short-term facts object[] shortTermFacts = new object[1]; shortTermFacts[0] = doc1; Policy policy = null; // now execute to see what happens try { //Console.WriteLine("Grabbing the policy ..."); policy = new Policy("EmpInfo"); policy.Execute(shortTermFacts, dti); FileInfo finfo = new FileInfo(@"C:\Biztalk\projects\EmployeeInfo\XSDs\ProcessedRFP.xml"); StreamWriter writer = finfo.CreateText(); writer.Write(doc1.Document.OuterXml); writer.Close(); } catch (Exception ex) { FileInfo finfoError = new FileInfo(@"C:\Biztalk\projects\EmployeeInfo\XSDs\Error.xml"); StreamWriter writerError = finfoError.CreateText(); writerError.Write(ex.Message); writerError.Close(); } dti.CloseTraceFile (); policy = null; return "PASS"; }