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

如何在SoapSonar 7/SoapUI 5.4中为PEPi 5 SOAP请求附加SignOn令牌?

嘿,我刚好有过用这两款工具处理SOAP令牌认证的经验,针对你用PEPi v5的场景,给你整理了详细的步骤,分工具来说明:

在SoapUI 5.4中处理PEPi SignOn令牌
  • 第一步:先拿到SignOn令牌
    1. 把PEPi的WSDL导入SoapUI后,打开SignOn请求,填好有效凭证发送,确保能拿到带令牌的响应。
    2. 先确认响应里令牌的位置,比如是<SignOnToken>xxx</SignOnToken>这种XML节点。
  • 第二步:把令牌存成全局变量
    1. 右键点击你的项目,选Properties,新增一个属性,比如叫PEPiSignOnToken,先空着就行。
    2. 回到SignOn请求,切换到底部的Script标签,写一段Groovy脚本自动提取令牌并赋值给刚才的全局属性:
      def response = context.expand('${SignOn Request#Response}')
      def xml = new XmlSlurper().parseText(response)
      def token = xml.SignOnToken.text()
      testRunner.testCase.testSuite.project.setPropertyValue("PEPiSignOnToken", token)
      
  • 第三步:让后续请求自动带令牌
    1. 打开需要调用的其他请求,找到接口要求放令牌的位置——可能是SOAP Header、HTTP Header或者请求体里的参数。
    2. 用${#Project#PEPiSignOnToken}这个占位符替换对应位置就行,比如SOAP Header里可以这么写:
      <soapenv:Header>
          <auth:Token>${#Project#PEPiSignOnToken}</auth:Token>
      </soapenv:Header>
      
    3. 如果是HTTP Header的话,直接在请求的Request Properties里加对应Header,值填这个占位符就行。
在SoapSonar 7中处理PEPi SignOn令牌
  • 第一步:提取并存储令牌
    1. 导入PEPi的WSDL后,创建SignOn测试用例,填好凭证运行请求,确保响应正常返回令牌。
    2. 右键点SignOn请求的响应,选Extract Value,设置提取规则:比如选XML节点路径//SignOnToken,然后把提取的值存到全局变量里,比如命名为PEPiToken。
  • 第二步:配置后续请求携带令牌
    1. 打开后续的测试请求,找到要放令牌的位置。
    2. 直接用${PEPiToken}占位符替换对应字段,比如SOAP Header示例:
      <soap:Header>
          <ns:AuthToken>${PEPiToken}</ns:AuthToken>
      </soap:Header>
      
    3. 如果要求放HTTP Header里,就在请求的HTTP Headers设置里加自定义Header,比如Authorization: Bearer ${PEPiToken}(具体格式得看PEPi接口要求)。
  • 小提醒:调整执行顺序
    一定要确保SignOn请求在所有需要令牌的请求之前跑,SoapSonar默认按顺序执行,但你也可以在测试套件里给后续请求加Depends On属性,指定依赖SignOn请求,避免令牌还没拿到就跑其他请求。
通用注意事项
  • 先搞清楚PEPi接口要求的令牌传递方式:是SOAP Header、HTTP Header还是请求体参数?可以查官方文档,或者抓官方客户端的请求看看格式。
  • 如果令牌有过期时间,两款工具都能设置自动刷新:SoapUI可以用Groovy脚本判断令牌是否过期,过期就重新调用SignOn;SoapSonar可以用Conditional Execution来触发重新获取。
  • 建议先手动把令牌填到后续请求里,确认能正常调用后再配置自动提取,这样排查问题更方便。

内容的提问来源于stack exchange,提问作者Gus D

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 07:59:23