3

Xml クエリ リクエストを作成するための優れたテスト ツールと、SSRS の xml を返す SOAP リクエストでそれらを使用する方法の知識を探しています。

一部の製品を推奨する WCF サービスの SOAP 要求のテストに関するスレッドがいくつか見られます。問題は、このツールが「xml リクエスト」部分を直接作成することでは機能しないように見えることです。この構文が SSRS に追いやられているだけなのか、それとも SOAP ファミリの一部なのかは定かではありません。そのため、どこから始めるべきかについての提案を本当に探しています。 、入札、単独で。

これまでに行われたことの背景を少し説明します。

  1. ライブラリ プロジェクトで C# の Entity Framework 5 を使用して .NET 4.5 でエンティティ モデルを作成し、データのモデル部分を分離したままにしました。
  2. 次に、Web サイトの WCF プロジェクトでインターフェイスと実装を作成し、basicHttpBinding を独自のプロジェクトとして使用してホストし、モデルから分離した状態に保ちました。
  3. Web サイト プロジェクトでエンティティ プロジェクトを参照し、t4 テンプレートから生成されたクラスを返します (*.tt = 私の理解では POCO クラス ジェネレーターのようなものです)。
  4. 戻り値の私の実装は、テスト用に次のとおりです。2 つのテーブルの戻り値には、署名にパラメーターが含まれる 1 つと、datetime である 2 つのパラメーターを持つテーブル関数があります。

    public List<tblState> GetStatesTable()
    {
        using (SSRSReportsEntities re = new SSRSReportsEntities())
        {
            return re.tblStates.ToList();
        }
    }
    
    public List<tblState> GetStateLike(string state)
    {
        using (SSRSReportsEntities re = new SSRSReportsEntities())
        {
            return re.tblStates.Where(n => n.State.Contains(state)).ToList();
        }
    }
    
    public List<fMonthly_Result> GetMonthlyData(DateTime aStart, DateTime aEnd)
    {
        using (SSRSReportsEntities re = new SSRSReportsEntities())
        {
            return re.fMonthly(aStart, aEnd, null).ToList();
        }
    }
    
  5. これを Windows 7 Enterprise 上の IIS 7.5 のローカル ホストに、'Reporting' という既定のサイトへのアプリケーションの下で公開します。エンドポイントは次のとおりです。

    http:// (localhost)/Reporting/ReportingService.svc

  6. クライアント用の C# ソリューションに別のプロジェクトを作成しました。2 つのサービス参照を追加します。その場でテストするためのサービスプロジェクトの発見のための1つ。そして、公開されたサービス用にもう 1 つ。エンドポイントのバインディングを確認すると、正常に動作します。

  7. クライアントでエンドポイントをテストすると、それらはすべてプロジェクトの 3 つのメソッドすべてで期待どおりに機能し、参照を公開します。偉大な。

  8. BIDS に移動し、手順 5 で XML タイプの接続用にエンドポイントを使用してデータソースをセットアップし、それを WCF データソースと呼びます。

  9. 3つの方法をテストしたいと思います。パラメータを追加するときは、データセット クエリを入力する前に最初にパラメータを追加する必要があることに気付いたので、最後の 2 つでそれを行います。最初の 2 つは機能し、3 番目は機能しません。

    < Query>
    < Method Name="GetStatesTable" Namespace="http://tempuri.org/">
    < /Method>
    < SoapAction>
    http://tempuri.org/IReportingService/GetStatesTable
    </SoapAction>
    </Query>
    
    < Query>
    < Method Name="GetStateLike" Namespace="http://tempuri.org/">
    < Parameters>
    <Parameter Name="state">
    </Parameter>
    </Parameters>
    </Method>
    < SoapAction>
    http://tempuri.org/IReportingService/GetStateLike
    </SoapAction>
    </Query>
    
    < Query>
    < Method Name="GetMonthlyData" Namespace="http://tempuri.org/">
    < Parameters>
    < Parameter Name="aStart"></Parameter>
    < Parameter Name="aEnd"></Parameter>
    </Parameters>
    </Method>
    < SoapAction>
    http://tempuri.org/IReportingService/GetMonthlyData
    </SoapAction>
    </Query>
    

3 番目は、データ型 System.DataTime に '4/1/2013' を実装できないというデータ型に関するエラーを返します。トラブルシューティングを行う必要がありますが、どこからテストを開始すればよいかわかりません。どんな助けでも大歓迎です。

4

1 に答える 1