我們迷上了我們的應用程序,從報告解析XML並將其顯示在自定義表中的測試WCF客戶端。我們有一些單元,我們希望能夠摺疊以獲得表格中最初可用的唯一ID列表。問題是,他們是太多的數據,我想知道如果有一種方法僅在從報告中首先加載ID和被點擊的ID時,則動態調用的額外信息。這樣我們就可以在應用程序開始時加載更少的數據。使用soap訪問SSRS報告的特定部分?
我想我可能可以做到這一點與肥皂請求的報告,但我真的不明白我應該如何弄清楚他們的API。這是由過去的其他人爲我們的WCF應用程序完成的。我想也許增加這個可以讓我只有桌子的某個部分?也許我在接近這個方面完全錯了。
public string Invoke(string reportPath, FilterViewModel reportParameter, NetworkCredential networkCredential)
{
if (NetworkInterface.GetIsNetworkAvailable())
{
m_NetworkCredential = networkCredential;
m_reportParameter = reportParameter;
Dictionary<string, string> headers = new Dictionary<string, tring>();
headers.Add("charset", "utf-8");
headers.Add("useUnsafeHeaderParsing", "true");
headers.Add("SOAPAction", "http://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/LoadReport");
StringBuilder reqSOAPEnv = new StringBuilder();
reqSOAPEnv.Append("<s:Envelope xmlns:s='http://schemas.xmlsoap.org/soap/envelope/'>");
reqSOAPEnv.Append("<s:Body xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' ");
reqSOAPEnv.Append("xmlns:xsd='http://www.w3.org/2001/XMLSchema'>");
reqSOAPEnv.Append("<LoadReport xmlns='http://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices'>");
reqSOAPEnv.Append("<Report>");
reqSOAPEnv.Append(reportPath);
reqSOAPEnv.Append("</Report>");
reqSOAPEnv.Append("</LoadReport>");
reqSOAPEnv.Append("</s:Body>");
reqSOAPEnv.Append("</s:Envelope>");
SSRS_ServiceRequestController serviceRequest = new SSRS_ServiceRequestController();
result = serviceRequest.MakeWebRequest(ServiceURL, m_ContentType, m_Method, headers, networkCredential, reqSOAPEnv.ToString());
}
return result;
}
老實說,我不能讓服務文檔的意義。我繼承了一團糟是我所繼承的。 –