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

SoapUI发送SOAP请求报不符合配置策略、安全头缺失问题求助

SoapUI WS-Security鉴权报错排查方案

针对「No Security Header found」初始报错的修正

  • 不要手动在请求XML里手写Security节点,手动拼接的节点很容易缺env:mustUnderstand="true"属性、命名空间不匹配,直接导致服务端XWSS组件识别不到安全头。
  • 打开项目层级的WS-Security Configuration面板,切到Outgoing WS-Security Config标签新建出站安全配置,先取消勾选Add Default WSU Timestamp选项——老版本Sun XWSS组件对时间戳格式、时间窗口校验极严,排障阶段先去掉减少干扰项。
  • 回到对应接口请求的Auth标签,下拉选择刚才新建的WS-Security配置,不要选其他HTTP类鉴权方式。

针对「Receiver Requirement for Digested Password has not been met」报错的修正

这个报错是UsernameToken的密码类型、字段配置不匹配的典型表现,按以下顺序调整:

  • 编辑你新建的出站WS-Security配置,添加一个UsernameToken条目,填入对应的账号密码:
    • Password Type先选PasswordDigest,不要选Auto自动识别
    • 必须勾选Add Nonce、Add Created两个选项:PasswordDigest的计算逻辑是Base64(SHA1(Nonce + Created + 明文密码)),缺任意一个字段生成的摘要都会被服务端判定为无效
    • 保持Nonce、Created节点的默认wsu命名空间前缀,不要自定义前缀,XWSS解析器对非标准前缀的字段会直接跳过校验
  • 如果按上面Digest模式配置完还是报相同错误,直接把密码类型切换为PasswordText测试:不少厂商封装XWSS策略时会把校验逻辑写反,提示要求摘要密码实际仅接收明文密码传输。

无官方文档场景的兜底排查

  • 配置完不要直接发请求,先点请求面板下方的Raw标签查看原始出站报文,确认<env:Header>节点下存在完整的<wsse:Security>子节点,且节点内字段和你配置的一致,没有被SoapUI自动过滤。
  • 确认请求使用的SOAP版本匹配:你收到的报错响应是SOAP 1.2格式,对应WS-Security扩展的命名空间必须用OASIS 1.0标准的http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd,不要误用SOAP 1.1的旧命名空间。
  • 如果有条件,抓取同环境下其他已对接系统、前端页面正常调用该接口的报文,对照Security头的结构核对是否有额外要求的字段、Token属性,部分定制化的XWSS策略会要求在Security头里带固定的TokenType标识才会进入鉴权流程。

注意:如果后续开启Timestamp时间戳校验,要保证运行SoapUI的机器时间和服务端时间差不超过5分钟,XWSS默认的时间校验窗口就是5分钟,时间差过大也会触发鉴权失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 01:54:22