SoapUI 在模拟服务脚本中获取请求参数
对于所有 SoapUI 常客来说,这可能是一件非常简单的事情。
在 SoapUI 模拟服务响应脚本中,如何提取我正在回复的请求中的值?
假设传入请求有
<ns1:foo>
<ns3:data>
<ns3:CustomerNumber>1234</ns3:CustomerNumber>
</ns3:data>
</ns1:foo>
如何将“1234”放入 Groovy 变量中? 我尝试使用 xmlHolder 但我似乎有错误的 XPath。
(我已经知道如何设置属性并将其值集成到响应中。)
This is probably a very easy one for all SoapUI regulars.
In a SoapUI mock service response script, how do I extract the value inside the request I'm replying to?
Let's say the incoming request has
<ns1:foo>
<ns3:data>
<ns3:CustomerNumber>1234</ns3:CustomerNumber>
</ns3:data>
</ns1:foo>
How do I get the "1234" into a Groovy variable? I tried with an xmlHolder but I seem to have the wrong XPath.
(I know how to set a property and integrate its value into the response already.)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
如果您想访问 SOAP 请求并进行一些 XPath 处理,由于 的强大功能,在soapUI 中有一种更简单的方法可以实现这一点GPath 和 XmlSlurper。
以下是访问客户编号的方法:
从 Groovy 1.6.3(在soapUI 2.5 及更高版本中使用)开始,XmlSlurper 默认情况下以命名空间感知和非验证模式运行,因此您无需执行任何其他操作。
干杯!
尚齐拉
If you want to access SOAP request and do some XPath processing, there's an easier way to do it in soapUI thanks to the power of GPath and XmlSlurper.
Here's how you would access the customer number:
As of Groovy 1.6.3 (which is used in soapUI 2.5 and beyond), XmlSlurper runs in namespace-aware and non-validating mode by default so there's nothing else you need to do.
Cheers!
Shonzilla
再举一个例子:
在这个例子中,我们从请求中获取两个参数并将它们转换为双精度数。 这样我们就可以对参数进行计算。 本示例的 SoapUI 响应示例为:
您可以看到计算结果如何传递回响应。
One more example:
In this example we get two parameters from the request and convert them to doubles. This way we can perform calculations on the parameters. The sample SoapUI response for this example is:
You can see how the calculations result is passed back to the response.
在纯 Java 中(不使用 SoapUI),您只需创建一个像这样的自定义命名上下文:
然后,像这样解析它:
In a pure Java (not using SoapUI) you would just create a custom Naming Context like this one:
Then, parse it like so:
扩展 http://www.soapui.org/soap-mocking/creating- dynamic-mockservices.html 并基于 http:// /www.soapui.org/apidocs/com/eviware/soapui/support/xmlholder.html 我想出了这个:
Extending http://www.soapui.org/soap-mocking/creating-dynamic-mockservices.html and based on http://www.soapui.org/apidocs/com/eviware/soapui/support/xmlholder.html I came up with this: