我正在寻找一个很好的测试工具来发出 Xml 查询请求以及如何将它们与返回 SSRS 的 xml 的肥皂请求一起使用的知识。
我看到一些关于测试 WCF 服务的 SOAP 请求的线程,这些线程推荐了一些产品,有人在 codeplex 上提到了“WebServiceStudio”:http ://webservicestudio.codeplex.com/ 。问题是这个工具似乎不适用于直接制作“xml 请求”部分。我不确定这种语法是否只是降级为 SSRS 还是属于 SOAP 家族的一部分,所以我真的在寻找关于从哪里开始的建议,而且认为我只能在 Business Intelligence Development Studio 中进行测试似乎有点疯狂, 投标, 本身。
到目前为止所做的一些背景:
- 我在一个库项目中使用 C# 中的 Entity Framework 5 在 .NET 4.5 中创建了一个实体模型,以使其与数据的模型部分保持隔离。
- 然后,我在网站 WCF 项目中创建了一个接口和实现,以使用 basicHttpBinding 作为其自己的项目来托管,以使其与模型隔离。
- 我在网站项目中引用了实体项目并返回从 t4 模板生成的类(* .tt = 就像我理解的 POCO 类生成器)
我对返回的实现如下进行测试,两个表返回一个在签名中带有一个参数,一个表函数有两个参数是日期时间:
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 上的本地主机上的应用程序下到我的默认站点“报告”,端点是:
http:// (localhost)/Reporting/ReportingService.svc
我为客户的 C# 解决方案创建了另一个项目。我添加了两个服务引用。一种用于发现服务项目以动态测试它。另一个服务一旦发布。我检查了端点绑定,它们工作正常。
我在客户端上测试了端点,它们都按预期对项目中的所有三种方法工作并发布参考。伟大的。
我去 BIDS 并在步骤 5 中设置带有端点的数据源以连接 XML 类型并将其称为 WCF 数据源
我想测试三种方法。当您添加参数时,我注意到您需要先执行此操作,然后再输入数据集查询,因此我使用最后两个执行此操作。前两个有效,第三个无效:
< 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>
第三个给出关于数据类型的错误,它无法将“2013 年 4 月 1 日”实现为数据类型 System.DataTime。我需要排除故障,但不确定从哪里开始测试。任何帮助深表感谢。