【发布时间】:2021-01-25 16:53:56
【问题描述】:
我在本地有 rdl 文件,我想使用 SSRS Rest API 来更新报表服务器中的报表(如果有任何更改。)
我正在使用 PATCH 将请求发送到报表服务器。像这样
BaseUrl: http://<report_server_ip>/reports/api/v2.0/reports(d0d2791e-b332-4d45-a233-579e86c1fc70)
Method: PATCH
Content Type: application/json
Body:
{
"Name":"My Report",
"Description": "",
"Path": "/Test/My Report",
"Type": "Report",
"Hidden": false,
"Content":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxSZXBvcnQgTXVzdFVuZGVyc3RhbmQ9ImRmIiB..."
}
对于Content,我打开 rdl 文件并读取所有字节并将其转换为 Base64 字符串。像这样:
content=File.ReadAllBytes(path) //path is the local rdl file path
Convert.ToBase64String(ASCII.GetBytes(content))
如果我在文本编辑器 (Notepad++) 中打开 rdl 文件,我看到报表参数 XML 节点发生了变化,但是当我发送 PATCH 请求时,报表服务器中的报表参数没有更新。
这里是 SSRS Rest API 的链接:https://app.swaggerhub.com/apis/microsoft-rs/SSRS/2.0#/Reports/UpdateReport
【问题讨论】: