我正在尝试创建一个将连接到SSRS 2005 Web服务的示例Delphi XE7桌面应用程序,但每次尝试调用LoadReport Web方法时,都会显示以下错误:
这是我到目前为止所做的:
创建一个按钮,根据显示的代码调用Web服务 here。 Web服务位置和报告都是硬编码的 简单的目的。 这是链接的代码段:
HTExec:= tHttpRio.Create(nil);
rsExec:= GetReportExecutionServiceSoap(False,ExecURL,HTExec);
//加载选定的报告。
LRParams.Report:='ReportName';
LoadParamsResponse:= rsExec.LoadReport(LRParams); //这里失败了
注意:我已经创建了一个.NET win表单应用程序(VS2010和VS2013),它使用这个Web服务没有任何问题,因此我知道Web服务和要呈现的报表工作正常。遗憾的是,我们的要求是Delphi解决方案,我有根据的猜测是WSDL导入器生成的代码不正确,有人在此之前可能遇到过这个问题并且知道如何解决它。
答案 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请求。