Xml クエリ リクエストを作成するための優れたテスト ツールと、SSRS の xml を返す SOAP リクエストでそれらを使用する方法の知識を探しています。
一部の製品を推奨する WCF サービスの SOAP 要求のテストに関するスレッドがいくつか見られます。問題は、このツールが「xml リクエスト」部分を直接作成することでは機能しないように見えることです。この構文が SSRS に追いやられているだけなのか、それとも SOAP ファミリの一部なのかは定かではありません。そのため、どこから始めるべきかについての提案を本当に探しています。 、入札、単独で。
これまでに行われたことの背景を少し説明します。
- ライブラリ プロジェクトで C# の Entity Framework 5 を使用して .NET 4.5 でエンティティ モデルを作成し、データのモデル部分を分離したままにしました。
- 次に、Web サイトの WCF プロジェクトでインターフェイスと実装を作成し、basicHttpBinding を独自のプロジェクトとして使用してホストし、モデルから分離した状態に保ちました。
- Web サイト プロジェクトでエンティティ プロジェクトを参照し、t4 テンプレートから生成されたクラスを返します (*.tt = 私の理解では POCO クラス ジェネレーターのようなものです)。
戻り値の私の実装は、テスト用に次のとおりです。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(); } }
これを Windows 7 Enterprise 上の IIS 7.5 のローカル ホストに、'Reporting' という既定のサイトへのアプリケーションの下で公開します。エンドポイントは次のとおりです。
http:// (localhost)/Reporting/ReportingService.svc
クライアント用の C# ソリューションに別のプロジェクトを作成しました。2 つのサービス参照を追加します。その場でテストするためのサービスプロジェクトの発見のための1つ。そして、公開されたサービス用にもう 1 つ。エンドポイントのバインディングを確認すると、正常に動作します。
クライアントでエンドポイントをテストすると、それらはすべてプロジェクトの 3 つのメソッドすべてで期待どおりに機能し、参照を公開します。偉大な。
BIDS に移動し、手順 5 で XML タイプの接続用にエンドポイントを使用してデータソースをセットアップし、それを WCF データソースと呼びます。
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' を実装できないというデータ型に関するエラーを返します。トラブルシューティングを行う必要がありますが、どこからテストを開始すればよいかわかりません。どんな助けでも大歓迎です。