如何从HTTP请求中选择soapui属性传输中的json值?

时间:2014-10-21 09:04:20

标签: json rest properties soapui transfer

以下是原始回复:

HTTP/1.1 200 OK
Date: Tue, 21 Oct 2014 08:46:31 GMT
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Server: Jetty(9.2.2.v20140723)

{"id":"myId"}

我试图设置Property(source是来自另一个测试步骤的响应,属性可以是Request,Response等)。响应和ResponseAsXML以及我无法提取值。并尝试xPath选择,但它不起作用。 是否可以使用json从HTTP响应中提取id

已更新

如果我选择ResponseAsXml,我会得到以下字符串:

[<Response xmlns="http://localhost/path">
   <id>882fe993-d150-b67c-4b0f-014931e2dd21</id>
</Response>]

我试过xPath:

declare namespace sam="http://localhost/path";
//sam:response

我也写了//sam:Response//response结果为[null]字符串。

2 个答案:

答案 0 :(得分:4)

在REST请求中,我们得到一个响应,它是一个JSON对象:

Rest Request with a JSON Object response

当我们想要使用Property Tranfer传输此响应时:我们可以将Source文本字段留空,如果我们要传输此对象的数据,我们将转移整个JSON对象,在这种情况下名称我们设置源文本字段 $ .name ,现在我们可以检索JSON对象的特定数据。

Retrieve JSON Data within Property Transfer

答案 1 :(得分:1)

对我来说,就像在这个答案的评论中一样:SoapUI - How to use Property Transfer with POST request

您可以简单地使用:

//*:id