Dynamics CRM JS通过WebAPI调用Action时,返回参数为复杂类型时的BUG验证

    之前的博客介绍过,JS如何通过web api调用action。在action的参数类型中有很多种,如下图所示,红框中圈出来的我们称之为复杂类型,剩余的我们称之为简单类型。

     本次的分享针对的是返回参数是复杂类型的,比如下面这个简单的全局action,我定义了一个简单类型输入参数和一个简单类型输出参数和一个复杂类型的输出

    当我们在js中用web api对其调用时会报错,错误如下图,当然action肯定是存在的,并且插件注册器中的step也注册完好

  

   为了验证我们的action是真实存在并且是没问题的,我们通过组织服务用server端的OrganizationRequest进行调用,结果返回了预期的值。

  然后我们测试了返回单独一个复杂参数类型

  通过postman调用了下,能够返回预期的值

   最后再测下多个复杂类型的返回参数

   结果一样是报错

   经过多轮的测试验证,可以得出结论,在JS中通过Web Api去调用自定义Action,当返回参数是简单类型和复杂类型混合,或者是多个复杂类型时,调用均会报错,也就是说这两种情况的产生是一个BUG,而当返回参数是简单类型,或者是仅返回单个负责类型的参数时是正常的。

猜你喜欢

转载自blog.csdn.net/woniu1104913/article/details/81777600