我正在测试一个接受session-id作为参数的webservice方法。
在使用虚拟会话ID参数通过SoapUI测试相同方法时,服务器拒绝该请求,因为它期望正确的会话ID。
我该如何解决这个问题?在发送请求之前,SoapUI是否可以绑定session-id?
请指教。感谢
以下是从SOAP-UI触发的示例请求:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://services.local.com">
<soapenv:Header/>
<soapenv:Body>
<ser:getMultiple>
<!--Optional:-->
<ser:sessionId>1000AJHEFG0987</ser:sessionId>
<!--Optional:-->
<ser:lessonId>95101</ser:lessonId>
<!--Optional:-->
<ser:quantity>1</ser:quantity>
<!--Optional:-->
<ser:impressionRow>1</ser:impressionRow>
</ser:getParametersMultiple>
</soapenv:Body>
</soapenv:Envelope>
答案 0 :(得分:1)
让我们说,如果你在第一个请求的响应中得到sessionid,而下一个请求应该在http://{{original endpoint}}/{{SESSION_ID}})
,这肯定有用:
name=sessionid
,style=template
,level=resource
。现在它在所有相关测试请求中都是空的${users#Response#$.session_id}
其中&#39;用户&#39;是端点资源的名称,&#39; session_id&#39;是响应中的参数名称答案 1 :(得分:-1)
找到解决方案,
设计您的登录方法,该方法将接受某些输入和意愿 将sessionID作为字符串
从SOAP-UI点击该登录方法,您将获得sessionID 你的回应
在soap-ui中使用“Property Transfer”选项并转移收到的 所有其他请求的sessionID
有用的链接:soapui.org/Functional-Testing/transferring-property-values.html
简单!! :)