2011-02-16 49 views

回答

1

首先我需要说明的是,我不知道任何关于ruby-on-rails或soap4r,但我有一个类似的问题,使用ReportExecutionService2005 Web服务爪哇,所以我可以指出你在正确的方向。

会话标识符在您加载报告后生成,因此您需要调用Web服务的LoadReport方法,该方法返回一个ExecutionInfo对象,您可以在其上调用getExecutionID,从而为您提供所需的会话标识。

这个标识符需要进入SOAP报头中,用于该报告的所有后续请求(更改报告并且您需要更改标头中的标识符)。您的SOAP标头应该看起来像这样:

<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'> 
    <env:Header> 
     <ssrs:ExecutionHeader xmlns:ssrs='http://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices'> 
      <ssrs:ExecutionID>your-execution-id</SSRS:ExecutionID> 
     </ssrs:ExecutionHeader> 
     ... 
    </env:Header> 
    ... 
</env:Envelope> 

显然,您的执行id将被替换为getExecution ID的返回值。

如何在ruby和soap4r中获得标题并不是我能提供的帮助。