升级 Aif 代码

应用于: Microsoft Dynamics AX 2012 R3, Microsoft Dynamics AX 2012 R2, Microsoft Dynamics AX 2012 Feature Pack, Microsoft Dynamics AX 2012

应用集成框架 (AIF)用于“Microsoft Dynamics AX”和外部系统之间的交换数据。在升级过程期间,“数据升级核对清单”包括 AIF 代码的升级步骤。此主题描述了“数据升级核对清单”的步骤。

单击 系统管理 >设置 >核对清单 >数据升级核对清单。 然后,在核对清单窗格中,展开“完成升级”。单击“升级 Aif 代码”。此步骤可能需要一会儿。在步骤完成时,请检查信息日志以验证没有错误生成。此步骤包括以下两个过程:

  • 代码升级 – 此过程创建应用程序对象树(AOT)中的新服务类、数据类和服务节点。

  • 数据升级 – 此过程升级数据库中所有与 AIF 相关的记录.

    重要

    AIF 代码的升级和数据一个由两个步骤组成的过程。在您可以升级 AIF 数据之前,您必须成功升级 AIF 代码。有关详细信息,请参阅升级其他功能

升级之前

在升级之前,您应该熟悉服务和 AIF。有关详细信息,请参阅Services and Application Integration Framework (AIF)

在开始升级过程之前,审核以下部分。

在源系统上处理消息。

在运行升级过程之前,请确保正在升级系统上已处理的所有 AIF 信息。检查以下位置可以验证已处理了所有消息:

  • 所有传入消息位置 – 这些位置包括文件系统目录、消息排队队列和 AIF 接收传出消息的任何位置。

  • 队列管理器 – 队列管理其中的所有消息未经处理并必须经删除。单击 系统管理 >定期 >服务和应用集成框架 >队列管理器

升级注意事项

在“Microsoft Dynamics AX 2012”原因中增强服务和 AIF 重大更改在功能、配置,数据库架构和文档架构,或 .xsd 文件中。在您计划从“Microsoft Dynamics AX”的更早版本中升级时,请考虑以下指南:

  • 您必须重新编译和测试使用“Microsoft Dynamics AX”的更早版本的所有界面以确保在“Microsoft Dynamics AX 2012”中使用服务的界面。

  • 在“Microsoft Dynamics AX 2012”中,MSMQ 和 BizTalk 适配器将替换成“Windows”Communication Foundation (WCF) 提供的相同功能。您必须重新编译使用这些适配器的任何自动化集成过程,如“Microsoft BizTalk Server”编排。

  • 升级框架更改 AIF 终结点和在“Microsoft Dynamics AX 2012”中的相关配置集成端口。在完成升级过程后,必须配置这些集成端口,在您可以使用“Microsoft Dynamics AX 2012”服务和 AIF 功能之前。

升级 Aif 代码

此节介绍“Microsoft Dynamics AX 2012”使用于升级 AIF 代码的流程。

代码升级

AIF 代码的升级步骤升级现有的 Axd <文档> 类和方法。在代码升级期间,请升级以下类:

  • Microsoft Dynamics AX 包括 Axd <文档> 类。

  • 自定义 Axd <文档> 类

  • 自定义实现 AifServicable 接口的类。

数据升级

数据升级过程期间,在 Microsoft Dynamics AX 数据库中升级 AIF 数据。AIF 终结点的配置设置复制到集成端口的配置设置。

升级后

下表描述如何更改重要概念和配置设置,在您升级“Microsoft Dynamics AX 2009”到“Microsoft Dynamics AX 2012”时。

Microsoft Dynamics AX 2009 功能

Microsoft Dynamics AX 2012 功能

描述

AIF 终结点

集成端口

集成端口的概念替换 AIF 终结点的概念。“入站端口”窗体和“出站端口”窗体替换 AIF 配置窗体。公开终结点转换为传入集成端口的“Microsoft Dynamics AX”功能。提交信息的终结点转换为出站集成的端口。

AIF 终结点成为了具有类似名称的集成端口。升级框架合并终结点名称和公司名称来创建集成端口的名称。例如,在 CompanyB 中的终结点称为 EndpointA 将称为 EndpointACompanyB 的集成端口。

终结点约束

此功能未转换。

有关终结点约束尚未复制到“Microsoft Dynamics AX 2012”的信息。您必须使用合法值框架和入站和出站集成端口的窗体来配置约束。配置每个集成端口到应用服务和参数限制。

终结点数据和操作策略

应用于集成端口的架构和工序限制。

有关数据和操作策略尚未复制的信息。在“Microsoft Dynamics AX 2009”中,数据和操作策略将应用于活动等级。在“Microsoft Dynamics AX 2012”中,数据和操作策略将应用于集成端口的等级。因此,您必须为入站和出站集成端口使用窗体来定义数据和操作策略在你升级后。

备注

在“Microsoft Dynamics AX”的较早版本中,需要分配数据策略到每个终结点操作策略。在“Microsoft Dynamics AX 2012”中,数据策略的配置为可选。

AIF 适配器

集成端口

有关 AIF 适配器不复制的信息。为集成端口使用窗体与集成端口关联的适配器。

AIF 通道

集成端口的地址

有关 AIF 通道不复制的信息。为入站和出站集成端口使用该窗体可以为每个集成端口配置地址和响应地址。

在“Microsoft Dynamics AX”的较早版本中,您可能与多个通道或地址关联的终结点。在“Microsoft Dynamics AX 2012”中,每个集成端口具有入站消息的一个地址和响应的一个地址。

AIF 管道

集成端口管道

AIF 管道是自动升级为集成端口管道。

服务代码属性

“Microsoft Dynamics AX 2012”服务框架

在升级过程期间,用相应的属性标记服务代码,例如创建、读或查找。此步骤启用自动推断功能在“Microsoft Dynamics AX 2012”中使用升级代码。

重要

必须配置每个升级服务到分配的相应属性。有关详细信息,请参阅下一行。

配置始终特定于公司。

默认情况下,配置非特定于公司。

在“Microsoft Dynamics AX”的较早版本中,每个 AIF 终结点与特定公司相关联。在“Microsoft Dynamics AX 2012”中,集成端口不具有与特定公司关联。但是,您可以为传入和传出集成端口使用窗体可以限制服务调用特定公司。有关传入消息,从消息标头中检索公司 ID 的服务框架。如果消息标头不包含一个公司 ID,则服务框架用于与提交信息的用户关联的默认公司 ID。

服务引用

Microsoft Visual Studio 项目

在“Microsoft Dynamics AX 2012”中,引用外部 Web 服务不再直接添加到 AOT。相反,在“Visual Studio”项目中这些引用应该可以添加到 AOT。

可以从“Microsoft Dynamics AX 2009”中导入服务接口到“Microsoft Dynamics AX 2012”中如果您选择这样做,则在导入过程期间您可能看见以下错误。您可以放心地忽略这些错误,即使使用服务引用:

  • 指定的 Web 引用根目录不存在。

  • 通过 AOS 锁定 .NET 程序集。重新启动 AOS 以加载新的程序集。

升级后

在升级之后,必须配置 SysEntryPointAttribute 属性,并验证 AIF 终结点的迁移。

配置 SysEntryPointAttribute

Microsoft Dynamics AX 2012 并不将 SysEntryPointAttribute 属性自动分配到升级的服务类。按照下列适用于升级每个服务的步骤操作。

  1. 在 AOT 中,展开“服务”节点,以及查找正在升级的服务。打开“属性”窗格,查找相应服务的类名称,并记录类名称。

  2. 在 AOT 中,展开“类”节点,并查找上一步中发现的类的条目。

  3. 对于类中的各服务操作,添加使用 true 或 false 的值的 SysEntryPointAttribute 属性。我们建议您将值设为 true,以便服务操作接收通过 Microsoft Dynamics AX 中基于角色的安全框架分配到该值的权限。

    以下示例代码显示如何将属性添加到 SalesSalesOrderService 类的 create 操作。

     [AifDocumentCreateAttribute, SysEntryPointAttribute(true)] 
    public AifEntityKeyList create(SalesSalesOrder _salesSalesOrder) 
    { return this.createList(_salesSalesOrder); }
    

验证 AIF 终结点的迁移

对于传入和传出集成端口使用“Microsoft Dynamics AX 2012”窗体来验证和配置迁移的 AIF 终结点。

  1. 打开 Microsoft Dynamics AX 客户端。

  2. 初始化 AIF 以登记适配器和服务:

    1. 单击 系统管理 >设置 >核对清单 >初始化核对清单

    2. 展开“初始化系统”节点。

    3. 单击“设置应用集成框架”。

  3. 为集成端口的配置打开每个窗体:

    1. 单击 系统管理 >设置 >服务和应用集成框架 >入站端口

    2. 单击 系统管理 >设置 >服务和应用集成框架 >出站端口

  4. 审查集成端口的列表,以确保 AIF 终结点已迁移为集成端口。

  5. 对于每个集成端口,请验证迁移设置和提供尚未迁移的任何设置:

    1. 在“地址”组中,在“适配器”字段中选择适当的适配器。

    2. 单击“配置”可以配置您所选的适配器。

    3. 在“URI”字段中,选择相应的 URI 的值。

    4. 公开服务操作。选择“公开服务操作”,然后单击“服务操作”。

    5. 手动配置数据策略和合法值。选择“自定义文档”,然后单击“数据策略”。

    6. 使用“处理选项”FastTab 可以配置处理设置。处理设置包括在批处理中遇到错误时控制行为的设置。这些设置也控制请求的预处理和响应的过帐处理。

    7. 使用“疑难解答”FastTab 可以配置故障排除设置。故障排除设置包括控制记录模式和错误的传递的设置。

    8. 使用“安全性”FastTab 可以配置安全设置。安全设置包括控制限制授权用户和可信中介用户的设置。这些设置也控制是否集成端口被限制为特定公司。

    9. 在浏览器中,请打开“Microsoft Dynamics AX”Web 服务器,并确认 Web 服务器返回 WSDL 页。使用以下 URL 可以打开 Web 服务器:

      net.tcp:// AOS_SERVICE_HOST/DynamicsAx/Services/ServiceName?wsdl
      

      备注

      默认情况下,“Microsoft Dynamics AX”使用端口 8081。

有关详细信息

有关如何在服务和 AIF 中配置集成端口的详细信息,请参阅TechNet网站上的文档。

公告: 若要查看已知问题和最近的补丁,请使用 Microsoft Dynamics Lifecycle Services (LCS) 中的 问题搜索