我希望检查一个从SOAP Web服务返回ResponseBody的值。
以下是Web Service的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的响应是否包含特定值。
任何帮助都会很棒,而且我需要的任何其他东西都应该非常乐意。提前谢谢。
编辑: 我忘了提到我正在使用加特林版2.0.0-M3a - 提前谢谢。
答案 0 :(得分:0)
.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))