我有一个托管在 IIS 上的 WCF Web 服务,它公开了一个采用三个整数参数的方法。我有一个简单的、基于控制台的客户端,它可以调用这个方法。
int InsertNewOrder(short quantity, int custID, int productID);
如果我的理解是正确的,我需要向 JMeter 提供一个 SOAP 信封,其中包含要调用的方法和要传递的参数的详细信息。我见过很多类似下面的例子:
<soapenv:Envelope xmlns:soapenv="schemas.xmlsoap.org/soap/envelope/">;
<soapenv:Body>
<ns2:InsertNewOrder xmlns:ns2="?????">
<ns2:Param1>${1}</ns2:Param1>
<ns2:Param1>${1}</ns2:Param1>
<ns2:Param1>${1}</ns2:Param1>
</ns2:InsertNewOrder>
</soapenv:Body>
</soapenv:Envelope>
但是,通过查看我的 WSDL 文档,我看不到它在哪里引用传递给该方法所需的任何参数。我还使用 Fiddler 检查客户端发送给服务的 soap 消息。同样,我看不到它在哪里传递参数。因此,我不知道如何创建一个简单的 SOAP 信封,我可以使用 JMeter 来测试此服务。
谁能告诉我为什么 WSDL 文档不提供方法参数的任何细节,或者解释我如何创建必要的 SOAP 信封以用于 JMeter?
我使用 VS 2010、JMeter 2.4、IIS v6、wsHttpBinding 在 C# 中编码。
最佳答案
免责声明:我不是 WSDL 专家,所以我无法告诉您为什么文档没有提供详细信息。
为了为 JMeter 生成 SOAP 信封,我使用了免费版的 soapUI。
步骤
- 将 WSDL 导入 soap
- 为方法创建默认请求
- 将请求 View 设置为RAW,并复制到JMeter
这为我提供了 jmeter 所需的所有信息,包括参数、用户代理、端点等。
关于c# - 如何使用 JMeter 测试 WCF Web 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5803974/