从 .NET 使用 AX AIF 文档服务





0/5 (0投票)
本文介绍如何在 .NET 客户端使用 AX2012 AIF 文档服务。
引言
本文展示了 .NET 客户端(在本例中为 Windows 客户端)如何使用 AX WCF 文档服务。为此,服务将托管在 AOS(应用程序对象服务器)上,而不是 IIS 上。
范围
我们以教室(课程教室)管理模块为例。我们希望公开一个(文档)服务,使外部客户端能够与 AX 交换数据(CRUD 操作)。
步骤
本文档的其余部分解释了实现目标的不同步骤。本文假设读者对 AX AIF(应用程序集成框架)有一定的了解,这意味着接下来的步骤将简要介绍 AX 文档服务的创建、部署和使用。
步骤 1:创建文档查询
每个文档服务都基于存储在 AX 中的 AOT(应用程序对象树)中的文档查询。此文档查询包含服务将公开的相应数据对象。文档查询的数据源将由(WCF)服务公开,该服务将包含相应 XML 消息模式。
步骤 2:创建文档服务
向导将创建的文档查询(来自上一步)作为输入参数,并将创建一个相应的服务类(省略详细信息)。此服务类托管用于在数据源(在本例中为课程教室)上调用 CRUD(创建;读取;更新;删除)操作的不同方法。
步骤 3:检查生成的项目
服务向导创建了一个服务项目。除了服务本身外,该项目还包含服务查询、服务文档类和保存实际数据的数 据类。有趣的是,服务向导还创建了一个作业:GenerateXSDSchema_AxdEMNU_AxdHRMCourse
,该作业提供将通过网络发送给使用客户端的 XML。执行此作业时,您将获得相应的 XML 文件,如下所示
步骤 4:将文档服务公开为 WCF Web 服务
为服务创建一个(增强的)入站端口(对源自 AX 并应由外部客户端使用的消息使用入站端口)。在我们的演示案例中,我们将服务公开为 tcp-ip 服务,外部客户端可以从内网范围内使用该服务。(如果服务应可从互联网访问,我们应选择 Http 适配器)。
步骤 5:选择适当的服务操作
创建集成端口后,必须选择使用客户端可以调用的服务操作。
步骤 6:外部(.NET)客户端使用公开的文档服务
外部客户端(在本例中为 .NET WinForms 应用程序)可以使用该服务……但也可以是任何其他类型的应用程序……下面,我简要解释了 .NET 客户端中的交互代码(用户选择加载或保存按钮时执行的代码)。在我们的演示案例中,我们公开了find
、create
、update
和delete
方法。
步骤 6.1:.NET WinForms 客户端
该服务将由一个简单的(C#) .NET 客户端使用。客户端将数据加载到datagrid
中,更改数据(CRUD 操作),并将这些更改提交到 AX。
步骤 6.2:在 .NET 客户端中加载数据
当用户“单击” “加载”按钮时,将发生以下情况:
- 设置查询条件,在本例中,我们将返回所有课程教室。
- 设置将从中加载数据的公司。
- 调用存储库
GetCourseRooms()
方法,该方法返回 AX 中的所有教室。
步骤 6.3:将更改保存到 AX

当用户“单击” “保存”按钮时,将发生以下情况:
- 将最后的更改应用于当前
dataset
(.NETDataSet
保存 AX 记录)。 - 获取所有添加的、修改的和删除的行。
- 调用存储库
SaveCourseRooms()
方法,该方法将数据更新到 AX。
.NET 数据存储库

在存储库类中实现“find”方法

在存储库类中实现“create、update 和 delete”方法
