通过SOAP SSRS 2010 API调用SetPolicys未成功

通过SOAP SSRS 2010 API调用SetPolicys未成功,soap,reporting-services,Soap,Reporting Services,我在使用2010 SSRS WSDL(在SQL Server 2008R2 SSRS服务器上)调用setPolicys()()时花了很多时间。当我使用以下有效负载发布时,我得到一个200响应,一个格式良好的SOAP响应,主体为空,但没有为给定文件夹实际创建任何策略 我正在成功地拨打其他电话,因此我不担心身份验证问题。此外,我还成功地通过Powershell拨打了相同的电话 我正在尝试使用原始SOAP API(实际上是从Ruby调用的)…有人对下一步的尝试有什么建议吗 以下是我的XML: <

我在使用2010 SSRS WSDL(在SQL Server 2008R2 SSRS服务器上)调用setPolicys()()时花了很多时间。当我使用以下有效负载发布时,我得到一个200响应,一个格式良好的SOAP响应,主体为空,但没有为给定文件夹实际创建任何策略

我正在成功地拨打其他电话,因此我不担心身份验证问题。此外,我还成功地通过Powershell拨打了相同的电话

我正在尝试使用原始SOAP API(实际上是从Ruby调用的)…有人对下一步的尝试有什么建议吗

以下是我的XML:

<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xmlns:tns="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer"
              xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
  <env:Body>
    <tns:SetPolicies>
      <tns:ItemPath>/mydir</tns:ItemPath>
      <tns:Policies>
        <tns:groupUserName>mydomain\someuser</tns:groupUserName>
        <tns:roles>
          <tns:role>
            <tns:name>Content Manager</tns:name>
            <tns:description>stuff</tns:description>
          </tns:role>
          <tns:role>
            <tns:name>Browser</tns:name>
            <tns:description>stuff here too</tns:description>
          </tns:role>
        </tns:roles>
      </tns:Policies>
    </tns:SetPolicies>
  </env:Body>
</env:Envelope>

/mydir
mydomain\someuser
内容管理器
东西
浏览器
这里也有东西

已解决。我能够捕捉到powershell使用的POST(通过wireshark)并查看XML…标记是相同的,除了外壳

看起来reportServer API对XML标记的大小写很敏感……发布此消息时,我得到了200分,并且实际上设置了策略:

<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xmlns:tns="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer"
              xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
  <env:Body>
    <tns:SetPolicies>
      <tns:ItemPath>/mydir</tns:ItemPath>
      <tns:Policies>
        <tns:GroupUserName>mydomain\someuser</tns:groupUserName>
        <tns:Roles>
          <tns:Role>
            <tns:Name>Content Manager</tns:name>
            <tns:Description>stuff</tns:description>
          </tns:Role>
          <tns:Role>
            <tns:Name>Browser</tns:name>
            <tns:Description>stuff here too</tns:description>
          </tns:Role>
        </tns:Roles>
      </tns:Policies>
    </tns:SetPolicies>
  </env:Body>
</env:Envelope>

/mydir
mydomain\someuser
内容管理器
东西
浏览器
这里也有东西