簡體   English   中英

從Microsoft Dynamics Nav調用外部API

[英]Calling an external API from Microsoft Dynamics Nav

我正在研究如何將Microsoft Dynamics NAV與我現有的REST API(基於Django REST Framework構建)集成。 我想做的是通過REST API觸發從NAV到CRUD對象的API調用。

閱讀有關NAV的Web服務文檔,很明顯,NAV可以公開Web服務供其他軟件使用。 但是,NAV可以使用第三方API嗎? Web服務示例文檔中 ,它說:

需要執行業務邏輯或從Microsoft Dynamics導航中讀取數據的解決方案是Web服務實現的候選人。 這些也可以是將數據寫入Microsoft Dynamics NAV並使用現有業務邏輯驗證數據的解決方案

此外,它還提供了以下有關如何使用Web服務的示例:

執行在Microsoft Dynamics導航中更容易開發和管理的任何類型的業務邏輯。

但是,我看不到任何數據寫入示例。 似乎在公開Web服務頁面或代碼單元時 ,沒有一種方法可以調用第三方API,並使用返回到NAV中的數據執行業務邏輯。 這實際上可行嗎?

不幸的是,沒有。

但是,您可以從Dynamics NAV的“開發客戶端”中訪問整個.NET框架-在定義變量時,請選擇DotNetType

它遠非完美,因此對於較大的任務,我將創建AddIns或完全外部的庫(取決於版本)。

對於像這樣的較小對象,我個人認為最簡單的方法是將C#作為小型(控制台)應用程序編寫,然后將其“轉換”回Dynamics NAV。

如果您正在尋找調用Web服務的方法,那么為什么需要Nav Web服務? Nav Web服務是調用Nav的一種方式。

這些也可以是將數據寫入Microsoft Dynamics NAV並使用現有業務邏輯驗證數據的解決方案。

這意味着,如果您調用已發布的Nav Web服務,則可以將數據傳遞給您的呼叫,數據將被驗證並保存到Nav。 因此,這是關於如何將數據推送到Nav而不是從外部系統提取數據。

如果要從Nav調用Web服務,請考慮以下選項:

  1. 編寫外部包裝器庫(如@SeeSharp所述或所述 )。 然后在C / AL中將其用作DotNet或變量的Automation類型。
  2. 在C / AL中使用現有的庫(例如“ Microsoft XML,v6.0” .XMLHTTP60)對您的Web服務進行http調用
  3. 做到Navision的風格
  4. 最后一個選擇是編寫控制台應用程序,它將使用您的Web服務,並使用shell從Nav調用它。 我知道這不是一個選擇

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM