You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SoapUI 5.7.2中动态传递Access Token至认证请求头

解决SoapUI 5.7.2中Access Token动态传递的401 Unauthorized问题

核心排查与配置步骤

1. 确认GetToken响应的JSON结构

先打开GetToken请求的Raw Response标签,确认Token在JSON中的具体层级和键名。比如常见响应格式:

{"code":200,"data":{"access_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."}}
或
{"access_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."}

键名和层级必须和后续提取规则严格匹配,大小写敏感。

2. 配置PropertyTransfer的源提取规则

双击TestCase中的PropertyTransfer步骤,进入配置界面:

  • 源设置:
    • 选择GetToken请求 → Response → JSON
    • 在JSONPath Expression中输入对应路径:
      • 如果Token在根节点:$.access_token
      • 如果Token在data子节点:$.data.access_token
    • 点击Test按钮,确认能正确提取到Token字符串,这一步是关键,提取失败直接导致后续认证失败。

3. 配置PropertyTransfer的目标赋值规则

分两种方式,按需选择:

方式一:直接赋值到CreateTask请求头
  • 目标设置:
    • 选择CreateTask请求 → Request Headers
    • Header Name输入Authorization
    • Value输入Bearer ${=transferedValue}(注意Bearer后有空格)
方式二:先存到TestCase属性(便于多请求复用)
  • 先新增一条Transfer规则:
    • 源保持上述GetToken的JSON提取规则
    • 目标选择TestCase → Properties,属性名设为AccessToken
  • 再新增一条Transfer规则:
    • 源选择TestCase → Properties,属性名选AccessToken
    • 目标选择CreateTask请求 → Request Headers
    • Header Name输入Authorization
    • Value输入Bearer ${#TestCase#AccessToken}

4. 验证CreateTask请求的头配置

打开CreateTask请求的Headers标签,确认Authorization头的值是动态引用格式(比如Bearer ${#TestCase#AccessToken}),而非固定文本。

5. 排查常见错误点

  • JSONPath错误:检查键名大小写、层级是否正确,比如把access_token写成AccessToken会导致提取为空。
  • Authorization格式错误:必须保证Bearer和Token之间有一个空格,缺少空格会被服务端判定为无效认证。
  • 步骤顺序错误:确保TestCase内的步骤顺序为:GetToken → PropertyTransfer → CreateTask,顺序颠倒会导致Token还未提取就发送请求。
  • 查看日志验证:执行TestCase时,打开SoapUI的Log标签,检查PropertyTransfer的提取结果,以及CreateTask请求发送的Authorization头具体值,对比手动粘贴的Token是否一致。

内容的提问来源于stack exchange,提问作者tanwir h

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 13:20:05