Biztalk 2004: How to pass database facts from C# code?

Home Page Forums BizTalk 2004 – BizTalk 2010 Biztalk 2004: How to pass database facts from C# code? Biztalk 2004: How to pass database facts from C# code?

#13892

[code:1:dc8a31d13c]
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:

<ns0:EmpInfo xmlns:ns0=\"http://EmployeeInfo.EmpInfo\">
<Emp>
<Salary></Salary>
<Role>Manager</Role>
</Emp>
<Emp>
<Salary></Salary>
<Role>CIO</Role>
</Emp>
</ns0:EmpInfo>

————————————————————–

—————————-
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\";

}

[/code:1:dc8a31d13c]