从Delphi XE7使用Microsoft Sql Server Reporting Services(SSRS)2005时如何解决异常错误

时间:2015-01-18 05:43:07

标签: delphi reporting-services

我正在尝试创建一个将连接到SSRS 2005 Web服务的示例Delphi XE7桌面应用程序,但每次尝试调用LoadReport Web方法时,都会显示以下错误: WS Error

这是我到目前为止所做的:

  1. 创建桌面应用。
  2. 导入ReportExecution2005和ReportService2005的WSDL。
  3. 创建一个按钮,根据显示的代码调用Web服务 here。 Web服务位置和报告都是硬编码的 简单的目的。 这是链接的代码段:

    HTExec:= tHttpRio.Create(nil);

    rsExec:= GetReportExecutionServiceSoap(False,ExecURL,HTExec);

    //加载选定的报告。

    LRParams.Report:='ReportName';

    LoadParamsResponse:= rsExec.LoadReport(LRParams); //这里失败了

  4. 注意:我已经创建了一个.NET win表单应用程序(VS2010和VS2013),它使用这个Web服务没有任何问题,因此我知道Web服务和要呈现的报表工作正常。遗憾的是,我们的要求是Delphi解决方案,我有根据的猜测是WSDL导入器生成的代码不正确,有人在此之前可能遇到过这个问题并且知道如何解决它。

2 个答案:

答案 0 :(得分:1)

我快速搜索了“http://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/LoadReport” 并找到this

如果它也适用于您,可能是您在错误的网址上调用该服务,请使用其中包含ReportExecution2005.asmx的网址,而不是ReportService2005.asmx

(还有更多here

答案 1 :(得分:0)

要找出Delphi版本和工作版本之间的差异,请使用HTTP代理(Fiddler2)捕获两个设置中的SOAP HTTP流量。

如果您无法访问工作环境,请使用SoapUI创建SOAP请求。