Soapui 属性 转入请求头
Soapui property transfer to request header
我想在这个 soap ws header 中设置 token 的值
<soapenv:Enveloppe ...
<soapenv:Header>
<web:token>123456 </web:token>
从名为测试的步骤获取 idSession 作为响应
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:authentification xmlns:ns1="http://ws.demowebservices.com/">
<bloc1>
<bloc2>
<idSession>e1c64cd9-b933-4f56-ae1f-0f7d7f23942b</idSession>
</bloc2>
我试着在中间插入 web:token 标签
${test#Response#//ns1:authentification/bloc1/bloc2/idSession}
但是没用
我应该用什么代替?
我不确定这是否是您想要实现的目标,但是如果您有一个名为 Test Request
的 SOAP Test step
并且您想使用 [=15= 的值] 在另一个 SOAP Test step
中使用此请求,您可以使用以下语法在第二个 SOAP Test step
请求中引用此值:
<soapenv:Enveloppe ...
<soapenv:Header>
<web:token>${Test Request#Request#//soapenv:Header/web:token}</web:token>
语法${Test Request#Request#//soapenv:Header/web:token}
包含三个部分,测试步骤的名称,然后是属性(可以是#Request
或#Response
),最后是xpath
获取值 //soapenv:Header/web:token
.
更新:
正如您所说的那样,您有两个 SOAP Test Request
,第一个称为 test
,下面是 response
:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:authentification xmlns:ns1="http://ws.demowebservices.com/">
<bloc1>
<bloc2>
<idSession>e1c64cd9-b933-4f56-ae1f-0f7d7f23942b</idSession>
</bloc2>
</bloc1>
</ns1:authentification>
</soap:Body>
</soap:Envelope>
第二个被命名为例如test 2
(不要在意,因为第二个名字不影响你的目的)并且具有以下request
:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<web:token>${test#Response#//ns1:authentification/bloc1/bloc2/idSession}</web:token>
</soapenv:Header>
<soapenv:Body>
...
</soapenv:Body>
</soapenv:Envelope>
使用 ${test#Response#//ns1:authentification/bloc1/bloc2/idSession}
您正确引用了 test
响应的 idSession
值。发送 test 2
时查看 http log
选项卡,如下图所示:
希望这对您有所帮助,
我想在这个 soap ws header 中设置 token 的值
<soapenv:Enveloppe ...
<soapenv:Header>
<web:token>123456 </web:token>
从名为测试的步骤获取 idSession 作为响应
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:authentification xmlns:ns1="http://ws.demowebservices.com/">
<bloc1>
<bloc2>
<idSession>e1c64cd9-b933-4f56-ae1f-0f7d7f23942b</idSession>
</bloc2>
我试着在中间插入 web:token 标签
${test#Response#//ns1:authentification/bloc1/bloc2/idSession}
但是没用
我应该用什么代替?
我不确定这是否是您想要实现的目标,但是如果您有一个名为 Test Request
的 SOAP Test step
并且您想使用 [=15= 的值] 在另一个 SOAP Test step
中使用此请求,您可以使用以下语法在第二个 SOAP Test step
请求中引用此值:
<soapenv:Enveloppe ...
<soapenv:Header>
<web:token>${Test Request#Request#//soapenv:Header/web:token}</web:token>
语法${Test Request#Request#//soapenv:Header/web:token}
包含三个部分,测试步骤的名称,然后是属性(可以是#Request
或#Response
),最后是xpath
获取值 //soapenv:Header/web:token
.
更新:
正如您所说的那样,您有两个 SOAP Test Request
,第一个称为 test
,下面是 response
:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:authentification xmlns:ns1="http://ws.demowebservices.com/">
<bloc1>
<bloc2>
<idSession>e1c64cd9-b933-4f56-ae1f-0f7d7f23942b</idSession>
</bloc2>
</bloc1>
</ns1:authentification>
</soap:Body>
</soap:Envelope>
第二个被命名为例如test 2
(不要在意,因为第二个名字不影响你的目的)并且具有以下request
:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<web:token>${test#Response#//ns1:authentification/bloc1/bloc2/idSession}</web:token>
</soapenv:Header>
<soapenv:Body>
...
</soapenv:Body>
</soapenv:Envelope>
使用 ${test#Response#//ns1:authentification/bloc1/bloc2/idSession}
您正确引用了 test
响应的 idSession
值。发送 test 2
时查看 http log
选项卡,如下图所示:
希望这对您有所帮助,