一卡通单人信息真实返回结构修复记录

结论

GetInfoByCustID 成功时返回的是 PROXY_BASE_CUSTOMERS 复杂对象,不是布尔值 true。原实现把单人查询按布尔成功标志判断,导致服务端已经返回人员信息时仍被判定为失败。现已改为从当前 operation 的 GetInfoByCustIDResult 复杂对象内读取人员字段。

契约依据

根因

  1. ServerCustomerInfoParser 使用 response.getResultText() 并要求结果文本等于 true,该判断与真实单人查询契约不符。
  2. SoapResponse 原先只收集 operation response 下的叶子字段,不能读取 GetInfoByCustIDResult 复杂对象中的直接子字段。
  3. 原单元测试把 GetInfoByCustIDResult 模拟为 true,并把人员字段放在 response 同级,测试样例与真实 SOAP 结构不一致。

修改

验证

Git 边界

本次未执行暂存、提交、推送、拉取、分支切换、合并、变基、重置或清理,工作区原有修改和未跟踪文件均保留。