将WCF服务作为SSRS的DataSource

时间:2013-07-01 14:38:14

标签: wcf reporting-services

我有一个中央WCF Rest服务作为我各种应用程序的数据源。现在是时候将SSRS与这项服务联系起来,但我无法理解。一些使用查询字符串参数调用的方法,如UriTemplate =“UretilenUrunler?urunId = {urunId}& num2 = {theNum}”

 - http://myserver/WcfRestServices/service/Uretilenurunler?urunId=5aa&num=49

大多数方法称为UriTemplate =“urundetay / {urunid} / sortorder”

 - http://myserver/WcfRestServices/service/urundetay/5aa/az

如何访问我的WCF服务并在SSRS中定义参数?

先谢谢。

1 个答案:

答案 0 :(得分:4)

关于WCF和与SSRS交谈的三件事:

  1. 您需要将您的服务绑定到HTTP(看起来像你一样,我认为它不能直接与NET.TCP一起使用)

  2. 您的连接源必须是“XML”,并使用WCF服务的连接字符串及其服务扩展名。 EG:

    http://localhost/Reporting/ReportingService.svc
    
  3. SSRS拥有自己的SOAP请求的xml查询方法,我对SOAP不熟悉,知道这是否是MS和SSRS技术专有的。现在有了我的服务,我保留了DEFAULT NAMESPACE WCF,它分配了'tempuri.org'。如果您放入OWN名称空间,则需要声明它。对于SOAP操作,您需要命名空间,接口和实现方法。

  4. 它的工作原理如下:

    <Query>
      <Method Name="GetMonthlyData2" Namespace="http://tempuri.org/">
        <Parameters>
          <Parameter Name="aStart" Type="Date"></Parameter>
          <Parameter Name="aEnd" Type="Date"></Parameter>
        </Parameters>
      </Method>
      <SoapAction>
        http://tempuri.org/IReportingService/GetMonthlyData2
      </SoapAction>
    </Query>
    

    带有SSRS的恕我直言WCF由于多种原因而无法正常运行:

    1. 它根本不能很好地传输类型。
    2. 它会带来额外的列,您需要形成数据。
    3. 范围仅限于几种类型。
    4. 在考虑尝试将大部分WCF与SSRS一起用于报告之前,请务必小心。