SoapUI 在 SOAP 服务完成认证前就收到 407
把代理登录信息留在 SoapUI 的代理设置里,并与服务的 401 或消息安全凭据分开排查。
当出现 407 时,是中间设备要求 SoapUI 向其认证。用于 SOAP 服务的 Authorization 请求头无法回应这个要求;在 HTTPS 下,代理可能在服务请求发出之前就直接拒绝 CONNECT。
把中间设备的主机、端口、用户名和密码填进 SoapUI 的代理设置。服务的认证则保留在它的请求或适用的授权配置文件中。SOAP 消息安全凭据可能构成另一层。
| 响应 | 谁在发问? | 对应的凭据请求头 |
|---|---|---|
| 407 / Proxy-Authenticate | 代理 | Proxy-Authorization |
| 401 / WWW-Authenticate | 目标服务 | Authorization |
遇到 HTTPS 失败时,先确认 CONNECT 是否被接受。然后再检查与服务之间的交互。这个顺序可以避免把缺失的隧道登录误判成服务拒绝了自己的账号。
如果看起来发出去的是错误的账号,就比对所选认证配置文件、显式请求头和实际交互(去掉机密信息后)。把 SoapUI 版本随这些证据一起保留;旧版本中关于该症状的报告并不能确定本次安装中它的成因。
手工构造的 Basic 请求头只适用于 Basic 认证。它的 Base64 内容仍然包含凭据,而重复的 Authorization 请求头或把值复制进代理设置,可能造成第二个错误。