65.9K
CodeProject 正在变化。 阅读更多。
Home

从 .NET 使用 AX AIF 文档服务

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0投票)

2013年10月6日

CPOL

3分钟阅读

viewsIcon

29045

downloadIcon

22

本文介绍如何在 .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 客户端中的交互代码(用户选择加载或保存按钮时执行的代码)。在我们的演示案例中,我们公开了findcreateupdatedelete方法。

步骤 6.1:.NET WinForms 客户端

该服务将由一个简单的(C#) .NET 客户端使用。客户端将数据加载到datagrid中,更改数据(CRUD 操作),并将这些更改提交到 AX。

步骤 6.2:在 .NET 客户端中加载数据

当用户“单击” “加载”按钮时,将发生以下情况:

  • 设置查询条件,在本例中,我们将返回所有课程教室。
  • 设置将从中加载数据的公司。
  • 调用存储库GetCourseRooms()方法,该方法返回 AX 中的所有教室。

步骤 6.3:将更改保存到 AX

当用户“单击” “保存”按钮时,将发生以下情况:

  • 将最后的更改应用于当前dataset(.NET DataSet保存 AX 记录)。
  • 获取所有添加的、修改的和删除的行。
  • 调用存储库SaveCourseRooms()方法,该方法将数据更新到 AX。

.NET 数据存储库

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

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

© . All rights reserved.