0

我需要在 Dynamics NAV 2009 中构建自定义 Web 服务以与电子商务站点进行通信。
我是 Dynamics NAV 的新手,我不确定是否应该使用 page 或 codeunit webservice。由于我只需要从 Web 服务中读取,因此可以自定义页面 Web 服务吗?

我应该使用哪一个?请帮忙

4

3 回答 3

1

我更喜欢使用代码单元而不是页面,因为您将获得更大的灵活性。您可以使用 xmlport 作为数据对象并通过 codeunit 参数实现自定义过滤器等。

请查看 Dynamics nav Team 的以下博客: 将 XMLports 与 Web 服务一起使用

于 2014-05-26T12:03:39.063 回答
0

这取决于 Nav 是被“推送”到 Nav,还是“拉”数据。

推入导航

如果数据被推送到导航中,那么您需要使用 Pages。这些页面应该有一个标题和行结构。一个很好的起点是第 42 页(销售订单)。此 Web 服务将允许您创建销售订单并在订单上包含多个产品。

如果您向页面添加额外字段,它将自动出现在 Web 服务中。

不建议为此使用 CodeUnits,因为您必须进行多次调用(订单上的每一行调用一次),而使用页面,您可以同时将所有行添加到订单中。可能会发生数据一致性问题(想象 4 次调用,但其中一个失败 - 无法跟踪哪一个) - 如果使用页面完成,这是一次调用,如果失败,Nav 将回滚更改。

按导航拉动

如果 Nav 从电子商务站点提取数据,则它需要是 CodeUnit。

这个 CodeUnit 可以在 Job Queue 中运行,也可以由用户手动运行。然后,此代码单元将形成正确的请求以连接到网站上的 API。它会拉下订单,然后正确填充销售标题/销售行。

于 2021-08-19T16:36:10.727 回答
0

您应该将 CodeUnit 用于 Web 服务
1.) 在您的网站代码中添加该 codeunit 的引用
2.) 而不是使用 Web Reference 调用该 codeunit
3.) 通过使用 codeunit,您将来可以运行 Dynamics Nav 的不同对象,您只需在动态导航中添加这些对象。

如果您需要更多帮助,您可以询问我从事过类似的任务。

于 2018-08-07T10:34:33.740 回答