我构建了一个C#.net Web服务,它将复杂类型作为参数。是否有可以针对我的Web服务运行的测试工具,并将所有值传递给复杂参数类型?
一些背景信息: 我针对我的XSD运行了xsd.exe工具并创建了一个.cs类。此.cs类具有用作复杂参数的数据集。现在我需要测试我的webmethod并将值传递给它,就像客户端一样。我尝试了WebService Studio和Storm,但似乎这两种产品都无法处理复杂类型。还有其他产品可以做到这一点吗?或者我是否从头开始编写自己的测试应用程序?
答案 0 :(得分:4)
对于经典的ASMX服务,我使用Web Service Studio 2.0来处理我投入的每个复杂类型。您可以从http://archive.msdn.microsoft.com/webservicestudio20/获得经典版本(2.0)。
我知道您链接到的codeplex上有一个更新版本,看起来它已经更新以支持复杂类型。 (前一段时间,在Codeplex上有一个无法使用的工具,无法复杂的类型。)
只是好奇您在Web Service Studio中遇到了哪些具体问题?
更新:重新阅读您的问题后,听起来您在服务中使用的是DataSet。如果是这样,那么您将遇到大多数工具包消耗该服务的互操作性问题;他们无法处理DataSet,因为它是一个“动态”类型。解决该问题的最简单方法是avoid DataSets。
如果是这种情况,那么我同意其他人的观点,即您需要创建可以使用您服务的.NET应用程序。
答案 1 :(得分:3)
我会使用Visual Studio和引用您的Web服务的Windows窗体来测试它。在此Windows窗体中,您可以使用NUnit,Fit或通常用于测试应用程序的任何内容。如果在调试中同时运行Web Service和Windows Form,则可以遍历代码以查看结果。
这是我使用的方法,我从来没有真正听说过.net Web Services中有自定义类型的另一种方法。
答案 2 :(得分:3)
soapUI可以帮助您实现这一目标。
但是,我通常这样做的方法是使用NUNIT或MSTEST编写自动单元测试,添加服务参考,然后编写测试。这样做的另一个好处是,您正在创建用户需要执行的相同类型的客户端代码。如果您的服务很难使用,那么您会很快发现。
答案 3 :(得分:1)
获取Visual Studio Express的副本(如果没有完整版本)并创建Windows应用程序,添加Web引用并测试它是不是很容易?
比起我阅读这个问题所花费的时间更少;) (不,我不是一个慢读者)
答案 4 :(得分:1)
对于简单的情况,您可以使用Visual Studio 2008中引入的WCF测试客户端(WcfTestClient.exe)。在http://msdn.microsoft.com/en-us/library/bb552364.aspx上了解更多信息
SoapUI适用于更复杂的情况。