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

如何解决从Delphi XE7使用Microsoft Sql Server Reporting Services(SSRS)2005时出现的异常错误,delphi,reporting-services,Delphi,Reporting Services,我正在尝试创建一个示例Delphi XE7桌面应用程序,该应用程序将连接到SSRS 2005 web服务,但每次尝试调用LoadReport web方法时,都会显示以下错误: 这就是我到目前为止所做的: 创建桌面应用程序 导入ReportExecution2005和ReportService2005的WSDL 根据显示的代码创建一个调用web服务的按钮 . web服务位置和报告都是硬编码的 简单性目的。 这是链接中的代码片段: HTExec:=tHttpRio.Create(nil) rsEx

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

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

  • 创建桌面应用程序
  • 导入ReportExecution2005和ReportService2005的WSDL
  • 根据显示的代码创建一个调用web服务的按钮 . web服务位置和报告都是硬编码的 简单性目的。 这是链接中的代码片段:

    HTExec:=tHttpRio.Create(nil)

    rsExec:=GetReportExecutionServiceSoap(False,ExecURL,HTExec)

    //加载所选报告

    LRParams.Report:=“ReportName”

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

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

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

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


    (还有很多)

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


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

    我正在这样做,是否应该使用Fiddler或SoapUI比较数据包中的任何特殊部分?