Hi everybody, I'm pretty new to InfoPath.
I'm trying to pass the data from a repeating table to a webserivce done in C#. I'm getting an "Object reference not set to an instance of an object" error.
Here's a sample xml doc generated by the table:
<?xml version="1.0" standalone="yes" ?>
- <my:AddtionalAppsGroup xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2006-11-22T21:03:26">
- <my:AddtionalApps>
<my:AdditionalApplication>Disclosure - Document disclosure system</my:AdditionalApplication>
<my:Required>yes</my:Required>
</my:AddtionalApps>
- <my:AddtionalApps>
<my:AdditionalApplication>Appeal Tracker - Web-based CoA Registrar Case Management</my:AdditionalApplication>
<my:Required>yes</my:Required>
</my:AddtionalApps>
- <my:AddtionalApps>
<my:AdditionalApplication>MasterCard - Justice MasterCard System</my:AdditionalApplication>
<my:Required>yes</my:Required>
</my:AddtionalApps>
</my:AddtionalAppsGroup>
And here's part of the code from my webservice:
private void AddComputerAdditionalApplication(int ComputerID, int UserID, XmlDocument XmlAdditionalApplications, string CreatedBy, SqlTransaction SQLTran, SqlConnection SQLConn)
{
XmlNodeReader Reader = new XmlNodeReader(XmlAdditionalApplications);
DataSet dsAdditionalApplications = new DataSet();
dsAdditionalApplications.ReadXml(Reader);
Reader.Close();
if (dsAdditionalApplications.Tables.Count != 0)
{
if (dsAdditionalApplications.Tables[0].Rows[0][0].ToString() != "" && dsAdditionalApplications.Tables[0].Rows[0][1].ToString() != "")
{
dsAdditionalApplications.WriteXml("C:/_LOCALdata/additionalapplications.xml");
SqlCommand Cmd = new SqlCommand("addcomputeradditionalapplication", SQLConn);
Cmd.Transaction = SQLTran;
Cmd.CommandType = CommandType.StoredProcedure;
Cmd.Parameters.Add("@AdditionalApplicationName", SqlDbType.NVarChar);
Cmd.Parameters.Add("@Required", SqlDbType.NVarChar);
Cmd.Parameters.Add("@ComputerID", SqlDbType.Int);
Cmd.Parameters.Add("@UserID", SqlDbType.Int);
Cmd.Parameters.Add("@CreatedBy", SqlDbType.NVarChar);
foreach (DataRow AdditionalApplication in dsAdditionalApplications.Tables["my:AdditionalApps"].Rows)
{
Cmd.Parameters["@AdditionalApplicationName"].Value = AdditionalApplication["my:AdditionalApplication"].ToString();
Cmd.Parameters["@Required"].Value = AdditionalApplication["my:Required"].ToString();
Cmd.Parameters["@ComputerID"].Value = ComputerID;
Cmd.Parameters["@UserID"].Value = UserID;
Cmd.Parameters["@CreatedBy"].Value = CreatedBy;
Cmd.ExecuteNonQuery();
} } } }
I hope someone can help me. Thanks in advance.
Kevin