使用参数在SSRS中使用web api
我试图在ssrs中使用webapi(XML源代码)。
如果将在url中使用参数(用于测试目的)那么它的工作非常好,例如http://some_xyz_url.com/Api/Report/GetReport?id=7 。 所以我可以在SSRS中使用web api
真正的问题 – 我不知道如何从SSRS将参数传递给webapi。 我努力但没有运气。 我也搜索了stackoverflow,毫无疑问接近我的要求。
我使用VS2012,(。net framework 4.0),SQL server 2008(使用Microsoft SQL Server报告生成器)
任何帮助真的很感激。
当我尝试将参数从SSRS传递给webapi时,我上传了错误消息。
更新
我试图传递参数但由于某种原因,参数的值始终为null,即使在设置了默认值之后。 (见下面附带的jpg)
这是我传递参数的方式
但仍然得到404(但我将使用硬编码的Id,它在浏览器中工作正常)
请指教。
连接字符串可以是表达式。 因此,您可以创建一个参数并将数据源连接字符串设置为:
="http://some_xyz_url.com/Api/Report/GetReport?id=" & Parameters!ReportParameter1.Value
对于’数据源’的XML源我已经使用WCF完成了它,我假设它与您所描述的类似,如果您想要为您获得的数据使用Web服务而您只想传入参数进入您正在制作的方法调用的签名。
使用SSRS使用Web服务时有四件事:
- 您需要将数据源设置为使用XML(看起来您已经获得了该部分)。
- 您的Web服务必须使用基本HTTP作为绑定类型。
-
如果您正在使用服务,则“连接字符串”需要是服务地址。 对于本地托管服务的EG将是:
http: //localhost/Reporting/ReportService.svc
对于部署在我的默认目录下的服务,名为“Reporting”的项目和具有ReportService接口的服务。 我还测试你可以通过尝试寻找它并确保它正常工作来获得Visual Studio中的这项服务。 或者,如果它是可发现的,请使用浏览器找到它。
-
有了这个,我需要创建一个’DataSet’正确查询这个服务。 MS有一个“查询”xml blob来执行此操作。 如果您有服务将采用的参数,则在“参数”节点中列出它们非常重要。
http://tempuri.org/IReportingService/GetStateLike
大多数问题是消费的微妙程度。 我得到了它的工作,但认为它是如此脆弱,我不想最终用于我的问题。 此处还有更多内容: 如何使用SSRS 2008 R2使用WCF服务
经过长时间的尝试,我无法解决这个问题,这是我最后遵循的,它的工作原理我不能改变web api,所以我在解决方案中添加了一个wcf服务,它正在消耗webapi(只是一个包装器)。 我知道wcf包装器不明智,但它解决了将参数传递给webapi的目的。
然后我在我的SSRS应用程序中使用wcf服务。
- 在* some * WebAPI控制器上禁用SSL客户端证书?
- 如何从Catch块返回错误消息。 现在回来是空的
- 根据请求从MVC web api返回xml或json
- 如何为某个特定类型而不是全局设置Json.NET ContractSerializer?
- 序列化为JSON,尽管指定了NullValueHandling,但使用Json.NET和Web API省略了Nullable Date
- 使用C#.net在winform中调用和使用Web API
- 在自托管WebApi中获取HttpRequest上下文
- ASP.Net Identity 2 – 来自OAuthAuthorizationServerProvider的自定义响应
- 指定asp.net核心1.0 WebAPI.exe应该在program.cs中为prod和dev使用的url(端口)