业务场景:NC里创建webservice 接收 第三方系统数据 将系统内的 自由态订单 填充第三方数据后 调用动作脚本推成 【审核】态。
前期测试 在client增加测试按钮 模拟推单 都没有问题。模拟过程中碰见一个问题 推单不成功
原因:某字段 没有赋值导致 建议推单前 先从库中查询一条正常单据 做数据比对 根据正常数据填充VO。
最怪异的问题:调用按钮推单正常后 开始写webservice 但是结果是推单错误 报空指针异常。但同样的填充数据 推单操作类。
划重点 原因如此:
前端client 调用时 NC系统会默认填充一些 作为校验使用 例如 所属组织 操作人
但是在public private调用时 跳过了 导致无法获取到该值 所以导致报空指针异常 也就导致推单错误。
左图:在private中通过webservice 调用推单
右图:在client中听过添加测试按钮 调用推单。红色剪头标注的就是问题原因。
解决:
/*设置所属集团*/
InvocationInfoProxy.getInstance().setGroupId(headVO.getPk_group());
/*设置操作人*/
InvocationInfoProxy.getInstance().setUserId(psnByCode.getPk_psndoc());
设置完以上内容后 再调用推单 一切OK 。。妥妥的。。。