我在infopath表单中创建了一个SOAP Web服务,并添加了一个返回数据表作为返回类型的方法。当我尝试添加dataconnection方法时,它给出了一个错误,指出“selecetd XML文档不能用作数据连接源,因为它包含内联XDR架构”。 这是我写的网络方法。它在浏览器中运行良好。
[WebMethod]
public DataTable GetApplications()
{
DataTable dt;
using (SPSite mysite = new SPSite(SPContext.Current.Web.Url))
{
using (SPWeb myweb = mysite.OpenWeb())
{
SPSiteDataQuery query = new SPSiteDataQuery();
query.Lists = "<Lists ServerTemplate=\"115\" />";
query.ViewFields = "<FieldRef Name=\"Applicant File Number\" Nullable=\"TRUE\" Type=\"Text\" />" +
"<FieldRef Name=\"Application Category \" Nullable=\"TRUE\" Type=\"Text\"/>" +
"<FieldRef Name=\"Application Type \" Nullable=\"TRUE\" Type=\"Text\"/>" +
"<FieldRef Name=\"Submission ID \" Nullable=\"TRUE\" Type=\"Text\"/>";
query.Query = "<OrderBy>" +
"<FieldRef Name=\"Submission ID\" />" +
"</OrderBy>";
query.Webs = "<Webs Scope=\"SiteCollection\" />";
dt= myweb.GetSiteData(query);
dt.TableName = "myApplications";
return dt;
}
}
}
答案 0 :(得分:0)
将数据表添加到数据集,并通过dataconnection将数据集返回到infopath表单。它运作良好。