GetInfoByCustID 单人信息查询与 SOAP 响应解析GetInfoByCustID 成功时返回的是 PROXY_BASE_CUSTOMERS 复杂对象,不是布尔值 true。原实现把单人查询按布尔成功标志判断,导致服务端已经返回人员信息时仍被判定为失败。现已改为从当前 operation 的 GetInfoByCustIDResult 复杂对象内读取人员字段。
GetInfoByCustIDResult 声明为 PROXY_BASE_CUSTOMERS。UploadBusinessRecResult 才声明为 boolean。GetInfoByCustID 发起只读查询,HTTP 200 响应中的 GetInfoByCustIDResult 为包含账号、卡号、卡序号、状态和姓名等字段的嵌套对象。CapDownCustomerInfo 成功时把人员数据写入 downInfo,失败返回 -1 或 -2,没有“成功返回布尔值 true”的描述。ServerCustomerInfoParser 使用 response.getResultText() 并要求结果文本等于 true,该判断与真实单人查询契约不符。SoapResponse 原先只收集 operation response 下的叶子字段,不能读取 GetInfoByCustIDResult 复杂对象中的直接子字段。GetInfoByCustIDResult 模拟为 true,并把人员字段放在 response 同级,测试样例与真实 SOAP 结构不一致。SoapResponse 新增 operation result 对象字段集合,只收集当前 <operationResult> 的直接子字段;对象外同名字段不会混入,重复字段仍按非法响应拒绝。ServerCustomerInfoParser 删除布尔 true 判断,从 result 对象读取 CUSTOMERID、CARDNO、CARDSN、STATUS 和 NAME。getOperationResultValues,编译按预期失败,证明测试确实约束了新增能力。ServerCustomerInfoParserTest 与 OnecardWebServiceClientTest 强制重跑,构建成功。:app:assembleDebug,构建成功。:app:testDebugUnitTest --rerun-tasks 共执行 247 项,244 项通过;3 项失败均为既有 CustomerFullFetchServiceTest 分页大小断言仍按 1000,而当前生产常量为 2000,与本次单人信息 SOAP 返回修复无关。本次未执行暂存、提交、推送、拉取、分支切换、合并、变基、重置或清理,工作区原有修改和未跟踪文件均保留。