Dynamics CRM JS通過WebAPI呼叫Action時,返回引數為複雜型別時的BUG驗證

vic0228發表於2018-08-17

    之前的部落格介紹過,JS如何通過web api呼叫action。在action的引數型別中有很多種,如下圖所示,紅框中圈出來的我們稱之為複雜型別,剩餘的我們稱之為簡單型別。

     本次的分享針對的是返回引數是複雜型別的,比如下面這個簡單的全域性action,我定義了一個簡單型別輸入引數和一個簡單型別輸出引數和一個複雜型別的輸出

    當我們在js中用web api對其呼叫時會報錯,錯誤如下圖,當然action肯定是存在的,並且外掛註冊器中的step也註冊完好

  

   為了驗證我們的action是真實存在並且是沒問題的,我們通過組織服務用server端的OrganizationRequest進行呼叫,結果返回了預期的值。

  然後我們測試了返回單獨一個複雜引數型別

  通過postman呼叫了下,能夠返回預期的值

   最後再測下多個複雜型別的返回引數

   結果一樣是報錯

   經過多輪的測試驗證,可以得出結論,在JS中通過Web Api去呼叫自定義Action,當返回引數是簡單型別和複雜型別混合,或者是多個複雜型別時,呼叫均會報錯,也就是說這兩種情況的產生是一個BUG,而當返回引數是簡單型別,或者是僅返回單個負責型別的引數時是正常的。

相關文章