0

我正在寻找从 SOAP Web 服务返回的 ResponseBody 中的值。

这是来自 Web 服务的示例 ResponseBody:

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Body>
     <ns5:getUserResponse xmlns:ns5="http://<someservice>" xmlns:ns3="java:com.mywebservice">
     <ns3:resultCode>0</ns3:resultCode>
   </S:Body>
</S:Envelope>

我有以下内容:

....//snipped for brevity
.check(regex("""<ns3:resultCode>(\d*)</ns3:resultCode""").saveAs("resCode"))
.check("""${resCode}""".in(0 to 200))
....//snipped for brevity

我收到一条错误消息,说明.in它不适用于 String 类型,但我不确定如何验证 xml 的响应是否包含特定值。

任何帮助都会很棒,而且我还需要任何其他的帮助。提前致谢。

编辑:我忘了提到我正在使用 gatling 版本 2.0.0-M3a - 在此先感谢。

4

1 回答 1

0

使用当前的 2.0.0-SNAPSHOT,即:

.check(regex("""<ns3:resultCode>(\d*)</ns3:resultCode""")
       .transform(_.toInt)
       .in(0 to 200))

对于 2M3a,即:

.check(regex("""<ns3:resultCode>(\d*)</ns3:resultCode""")
       .transform(_.map(_.toInt))
       .in(0 to 200))
于 2014-06-13T20:52:58.700 回答