步骤 1:修改 vPrev BizTalk 项目以调用 RFC
完成时间: 10 分钟
目的: 在此步骤中,对现有 vPrev BizTalk 项目进行以下更改:
使用基于 WCF 的 SAP 适配器为 SD_RFC_CUSTOMER_GET RFC 生成元数据。
将用于使用 vPrev SAP 适配器调用 RFC 的请求消息映射到使用基于 WCF 的 SAP 适配器调用 RFC 的请求消息。
使用基于 WCF 的 SAP 适配器收到的响应消息映射到 vPrev SAP 适配器的响应消息。
先决条件
- 必须具有 vPrev BizTalk 项目才能在 SAP 系统中调用 SD_RFC_CUSTOMER_GET RFC。
修改 vPrev BizTalk 项目
使用基于 WCF 的 SAP 适配器为 SD_RFC_CUSTOMER_GET RFC 生成元数据。 可以使用使用适配器服务 BizTalk 项目加载项来生成元数据。
有关如何为 RFC 生成元数据的说明,请参阅 在 SAP 中浏览、搜索和获取 RFC 操作的元数据。 生成架构后,会将名称类似于 SapBindingSchema.xsd 的文件添加到 BizTalk 项目中。 此文件包含使用基于 WCF 的 SAP 适配器调用SD_RFC_CUSTOMER_GET的架构。
生成 SD_RFC_CUSTOMER_GET RFC 的元数据还会创建端口绑定文件。 在下一步中,此绑定文件将用于创建 WCF-Custom 发送端口以将消息发送到 SAP 系统。 操作的 SOAP 操作也设置为为其生成元数据的操作。 例如,如果为 SD_RFC_CUSTOMER_GET RFC 生成元数据,则发送端口上的 SOAP 操作中的操作名称将为“SD_RFC_CUSTOMER_GET”。 但是,作为业务流程的一部分创建的逻辑发送端口上的操作名称可能不同,例如“Operation_1”。 因此,使用发送端口将消息发送到 SAP 系统时,会收到错误。 若要防止出现这种情况,请确保业务流程中逻辑发送端口上的操作名称与为其生成元数据的操作名称相同。
因此,在本教程中,由于为 SD_RFC_CUSTOMER_GET RFC 生成元数据,因此请将逻辑发送端口操作的名称更改为“SD_RFC_CUSTOMER_GET”。
对于请求消息,将使用 vPrev SAP 适配器生成的架构映射到使用基于 WCF 的 SAP 适配器生成的架构。
将 BizTalk 映射器添加到 BizTalk 项目。 右键单击 BizTalk 项目,指向 “添加”,然后单击“ 新建项”。
在“ 添加新项 ”对话框中的左窗格中,选择“ 映射文件”。 在右窗格中,选择“ 映射”。 指定映射的名称,例如 RequestMap.btm。 单击“添加”。
在“源架构”窗格中,单击“ 开放源代码架构”。
在 “BizTalk 类型选取器 ”对话框中,展开项目名称,展开“ 架构”,然后选择 vPrev SAP 适配器的请求消息的架构。 对于本教程,请选择“ SAP_Migration.SD_RFC_CUSTOMER_GET__x32003”,然后单击“ 确定”。
在“ 源架构的根节点 ”对话框中,选择“ SD_RFC_CUSTOMER_GET_Request”,然后单击“ 确定”。
在“目标架构”窗格中,单击“ 打开目标架构”。
在 “BizTalk 类型选取器 ”对话框中,展开项目名称,展开“ 架构”,并为基于 WCF 的 SAP 适配器的请求消息选择架构。 对于本教程,请选择“ SAP_Migration.SapBindingSchema”,然后单击“确定”。
在“ 目标架构的根节点 ”对话框中,选择“ SD_RFC_CUSTOMER_GET”,然后单击“ 确定”。
映射这两个架构中的相应元素,如下图所示。 使用 String Left Trim functoid 映射CUSTOMER_T元素。 为此,请从 工具箱中拖动 “字符串左侧剪裁 ”functoid 并将其放在映射器网格上。 将源架构中的 CUSTOMER_T 元素连接到 functoid。 同样,将目标架构中的 CUSTOMER_T 元素连接到 functoid。 下图演示了如何通过 functoid 映射这两个元素。
之间的请求消息
注意
有关 String Left Trim functoid 的详细信息,请参阅 中的 https://go.microsoft.com/fwlink/?LinkId=105774“String Left Trim Functoid”。
保存该映射。
对于响应消息,请将使用 vPrev SAP 适配器生成的架构映射到使用基于 WCF 的 SAP 适配器生成的架构。
将 BizTalk 映射器添加到 BizTalk 项目。 右键单击 BizTalk 项目,指向 “添加”,然后单击“ 新建项”。
在“ 添加新项 ”对话框中的左窗格中,选择“ 映射文件”。 在右窗格中,选择“ 映射”。 指定映射的名称,例如 ResponseMap.btm。 单击“添加”。
在“源架构”窗格中,单击“ 开放源代码架构”。
在 “BizTalk 类型选取器 ”对话框中,展开项目名称,展开 “架构”,然后选择基于 WCF 的 SAP 适配器的响应消息的架构。 对于本教程,请选择“ SAP_Migration.SapBindingSchema”,然后单击“ 确定”。
在“ 源架构的根节点 ”对话框中,选择“ SD_RFC_CUSTOMER_GETResponse”,然后单击“ 确定”。
在“目标架构”窗格中,单击“ 打开目标架构”。
在 “BizTalk 类型选取器 ”对话框中,展开项目名称,展开 “架构”,然后选择 vPrev SAP 适配器的响应消息的架构。 对于本教程,请选择“ SAP_Migration.SD_RFC_CUSTOMER_GET__x32003”,然后单击“ 确定”。
在“ 目标架构的根节点 ”对话框中,选择“ SD_RFC_CUSTOMER_GET_Response”,然后单击“ 确定”。
映射这两个架构中的相应元素,如下图所示。
之间的响应消息
保存该映射。
保存并生成 BizTalk 解决方案。 右键单击解决方案,然后单击“ 生成解决方案”。
部署该解决方案。 右键单击解决方案,然后单击“ 部署解决方案”。
后续步骤
创建 WCF-Custom 发送端口,并将其配置为使用在此步骤中创建的映射,如步骤 2:在 BizTalk Server管理控制台中配置业务流程中所述。