在 Oracle E-Business Suite 中调用请求集

Microsoft用于 Oracle 电子商务套件的 BizTalk 适配器使你可以在 Oracle E-Business Suite 中执行请求集。 请求集分为一个或多个阶段,每个阶段包含一组报表和并发程序。 有关适配器如何支持请求集的详细信息,请参阅 请求集上的操作。 有关用于调用请求集的 SOAP 消息的结构的信息,请参阅 请求集的消息架构

先决条件

必须已完成先决条件中的步骤 才能创建 Oracle E-Business Suite 应用程序

如何在 Oracle E-Business Suite 中调用请求集

在 Oracle E-Business Suite 上使用 Oracle E-Business 适配器与 BizTalk Server 执行操作,包括在 构建 Oracle E-Business Suite 应用程序的基块 中描述的程序任务。 若要调用请求集,这些任务包括:

  • 创建 BizTalk 项目,并为要调用的请求集生成架构。

  • 在 BizTalk 项目中创建消息,以便发送和接收 Oracle 电子商务套件的消息。

  • 创建用于调用请求集的编排。

  • 生成和部署 BizTalk 项目。

  • 通过创建物理发送和接收端口来配置 BizTalk 应用程序。

  • 启动 BizTalk 应用程序。

    本主题提供执行这些任务的说明。

生成架构

本主题演示如何通过从应用程序对象库应用程序调用函数安全报告(友好名称)请求集来调用请求集。 请求集的实际名称 FNDRSSUB43。 此请求集可用于默认 Oracle E-Business Suite 应用程序。 此请求集返回请求 ID。

因此,在本主题中,我们将生成 FNDRSSUB43 请求集的架构。 关于如何生成架构的更多信息,请参阅 在 Visual Studio 中检索 Oracle 电子商务套件作业的元数据

定义消息和消息类型

前面生成的架构描述了业务流程中消息所需的“类型”。 消息通常是变量,类型由相应的架构定义。 现在必须为编排创建消息,并将其链接到在上一步中生成的架构。

在此业务流程中,必须创建两条消息-一个用于发送消息来调用请求集,另一个消息用于接收请求集的响应。

  1. 将一项编排添加到 BizTalk 项目中。 在解决方案资源管理器中,右键单击 BizTalk 项目名称,指向 “添加”,然后单击“ 新建项”。 键入 BizTalk 业务流程的名称,然后单击“ 添加”。

  2. 打开 BizTalk 项目的“业务流程视图”窗口(如果尚未打开)。 为此,请单击“ 视图”,指向 “其他窗口”,然后单击“ 业务流程视图”。

  3. 在业务流程视图中,右键单击 “消息”,然后单击“ 新建消息”。

  4. 右键单击新创建的消息,然后选择“ 属性窗口”。

  5. Message_1“属性”窗格中,执行以下作:

    用这个 要执行的操作
    标识符 类型 Request
    消息类型 在下拉列表中,展开架构,然后选择RequestSet.OracleEBSBindingRequestSets_FND.FNDRSSUB43,其中 RequestSet 是 BizTalk 项目的名称。 OracleEBSBindingRequestSets 是为调用 FNDRSSUB43 请求集而生成的架构。
  6. 重复步骤 3 以创建消息。 在新消息的 “属性 ”窗格中,执行以下作:

    用这个 要执行的操作
    响应 RequestSet.OracleEBSBindingRequestSets_FND.FNDRSSUB43Response

设置业务流程

必须创建 BizTalk 业务流程才能使用 BizTalk Server 在 Oracle E-Business Suite 中调用请求集。 在此编排中,您将在定义的接收位置放置一个请求消息。 业务流程使用此消息并将其传递给 Oracle E-Business Suite 以调用 FNDRSSUB43 请求集。 请求集的响应从 Oracle 接收,并保存在另一个位置。 调用请求集的典型协调流程将包含:

  • 发送和接收模块,用于向 Oracle 电子商务套件发送消息并接收响应。

  • 用于接收要发送到 Oracle E-Business Suite 的请求消息的单向接收端口。

  • 双向发送端口,用于将请求消息发送到 Oracle E-Business Suite 并接收响应。

  • 单向发送端口,用于将响应从 Oracle E-Business Suite 发送到文件夹。

    调用请求集的示例编排过程如下所示:

    协调调用请求集的流程

添加消息形状

为每个消息形状指定以下属性。 Shape列中列出的名称是前述编排中显示的消息形状名称。

形状 形状类型 性能
接收消息 接收 - 将 名称 设置为 ReceiveMessage
- 将 “激活 ”设置为 True
发送消息 发送 - 将 名称 设置为 SendMessage
接收响应 接收 - 将 名称 设置为 ReceiveResponse
- 将 “激活 ”设置为 False
SendResponse 发送 - 将 名称 设置为 SendResponse

添加端口

请确保为每个逻辑端口指定以下属性。 端口列中列出的名称是业务流程中显示的端口的名称。

港口 性能
MessageIn - 将 标识符 设置为 MessageIn
- 将 类型 设置为 MessageInType
- 将 通信模式 设置为 单向
- 将通信方向设置为接收
LOBPort - 将 标识符 设置为 LOBPort
- 将 类型 设置为 LOBPortType
- 将 通信模式 设置为 请求-响应
- 将 通信方向 设置为 发送接收
ResponseOut - 将 标识符 设置为 ResponseOut
- 将 类型 设置为 ResponseOutType
- 将 通信模式 设置为 单向
- 将通信方向设置为发送

为动作形状指定消息并连接至端口

下表指定要设置的属性及其值,以针对动作形状指定消息并将其连接到端口。 “形状”列中列出的名称是上一业务流程中显示的消息形状的名称。

形状 性能
接收消息 - 将 消息 设置为 请求
- 将 操作 设置为 MessageIn.RequestSet.Request
发送消息 - 将 消息 设置为 请求
- 将 操作 设置为 LOBPort.RequestSet.Request
接收响应 - 将 消息 设置为 响应
- 将 操作 设置为 LOBPort.RequestSet.Response
SendResponse - 将 消息 设置为 响应
- 将 操作 设置为 ResponseOut.RequestSet.Request

指定这些属性后,消息形状符和端口被连接,您的编排已完成。

现在必须生成 BizTalk 解决方案,然后将其部署到 BizTalk Server。 有关详细信息,请参阅 生成和运行业务流程

配置 BizTalk 应用程序

部署 BizTalk 项目后,前面创建的业务流程将列在 BizTalk Server 管理控制台中的“业务流程”窗格下。 必须使用 BizTalk Server 管理控制台来配置应用程序。 有关配置应用程序的详细信息,请参阅 演练:部署基本 BizTalk 应用程序

配置应用程序涉及:

  • 为应用程序选择主机。

  • 将业务流程中创建的端口映射到 BizTalk Server 管理控制台中的物理端口。 对于此编排,必须:

    • 请在硬盘上指定一个位置及其对应的文件端口,以便放置请求消息。 BizTalk 编排将接收请求消息并将其发送到 Oracle 电子商务套件。

    • 定义硬盘上的位置和相应的文件端口,BizTalk 业务流程将删除包含 Oracle E-Business Suite 响应的响应消息。

    • 定义一个物理发送端口 WCF-Custom 或 WCF-OracleEBS,用于将消息发送到 Oracle 电子商务套件。 还必须在发送端口中指定操作。 有关如何创建发送端口的信息,请参阅 手动配置到 Oracle 电子商务适配器的物理端口绑定

      若要使用 Oracle E-Business 适配器调用请求集,必须设置调用作的正确应用程序上下文。 Oracle 电子商务适配器提供某些绑定属性,以指定任何操作的应用程序上下文。 必须在用于调用请求集的 WCF-Custom 或 WCF-OracleEBS 端口上设置这些绑定属性。

      • 如果 ClientCredentialType 绑定属性设置为 Database,则必须指定以下绑定属性来设置应用程序上下文。

        Binding 属性 价值
        OracleUserName 指定 Oracle E-Business Suite 用户的名称。 Oracle E-Business 适配器在连接到 Oracle E-Business Suite 时,不会保留您为 OracleUserName 绑定属性输入值时的大小写。 用户名使用 SQL*Plus 的标准规则传递到 Oracle 电子商务套件。 但是,如果希望保留用户名的事例,或者要输入包含特殊字符的用户名,则必须在双引号内指定该值。
        OraclePassword Oracle 电子商务套件用户的密码。 Oracle E-Business 适配器不会保留连接到 Oracle E-Business Suite 时为 OraclePassword 绑定属性输入的值大小写。 密码使用 SQL*Plus 的标准规则传递到 Oracle 电子商务套件。 但是,如果希望保留密码大小写,或者想要输入包含特殊字符的密码,则必须在双引号中指定该值。
        OracleEBSResponsibilityName 与 Oracle E-Business Suite 用户关联的责任。
      • 如果将 ClientCredentialType 绑定属性设置为 EBusiness,则必须在建立连接时已指定 Oracle E-Business 凭据。 在这种情况下,只能为 OracleEBSResponsibilityName 绑定属性指定值。

        有关不同绑定属性的详细信息,请参阅 有关 Oracle 电子商务套件绑定属性的 BizTalk 适配器 的信息。 有关适配器如何支持设置应用程序上下文的详细信息,请参阅 “设置应用程序上下文”。

      注释

      可以通过指定绑定属性或通过设置 Oracle E-Business 适配器公开的消息上下文属性来设置应用程序上下文。 有关如何设置绑定属性的说明,请参阅 为 Oracle E-Business Suite 配置绑定属性。 有关如何使用消息上下文属性设置应用程序上下文的说明,请参阅 在 Oracle E-Business Suite 中使用消息上下文属性配置应用程序上下文

      注释

      使用“消耗适配器服务”BizTalk 项目外接程序生成架构时,还会创建一个绑定文件,其中包含有关这些端口及其对应操作信息。 可以从 BizTalk Server 管理控制台导入此绑定文件,以创建发送端口(用于出站呼叫)或接收端口(对于入站呼叫)。 有关详细信息,请参阅 使用用于 Oracle 电子商务套件的端口绑定文件配置物理端口绑定

启动应用程序

必须启动 BizTalk 应用程序才能调用请求集。 有关启动 BizTalk 应用程序的说明,请参阅 如何启动业务流程

在此阶段,请确保:

  • 用于接收业务流程请求消息的 FILE 接收端口正在运行。

  • 用于从业务流程接收响应消息的 FILE 发送端口正在运行。

  • WCF-Custom 或 WCF-OracleEBS 发送端口用于调用 FNDRSSUB43 请求集,正在运行。

  • 正在运行该操作的 BizTalk 业务流程。

执行操作

运行应用程序后,您必须发送一个符合架构的请求消息,以调用 FNDRSSUB43 请求集。 例如,调用 FNDRSSUB43 请求集的请求消息为:

<FNDRSSUB43 xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/RequestSets/FND">  
  <StartTime></ StartTime>  
  <All_x0020_Requests_x0020_in_x0020_the_x0020_Set_STAGE10>  
    <FNDMNNAV xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/RequestSetStage/FND/FNDRSSUB43">  
      <Responsibility xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/RequestSetConcurrentProgram/FND/FNDRSSUB43/STAGE10/FND">System Administrator</Responsibility>  
      <ns3:Application xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/RequestSetConcurrentProgram/FND/FNDRSSUB43/STAGE10/FND"></ns3:Application>  
    </ns2:FNDMNNAV>  
    <ns2:FNDMNMNU xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/RequestSetStage/FND/FNDRSSUB43">  
      <ns3:Responsibility xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/RequestSetConcurrentProgram/FND/FNDRSSUB43/STAGE10/FND">System Administrator</ns3:Responsibility>  
      <ns3:Application xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/RequestSetConcurrentProgram/FND/FNDRSSUB43/STAGE10/FND"></ns3:Application>  
    </ns2:FNDMNMNU>  
    <ns2:FNDMNFUN xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/RequestSetStage/FND/FNDRSSUB43">  
      <ns3:Responsibility xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/RequestSetConcurrentProgram/FND/FNDRSSUB43/STAGE10/FND">System Administrator</ns3:Responsibility>  
      <ns3:Application xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/RequestSetConcurrentProgram/FND/FNDRSSUB43/STAGE10/FND"></ns3:Application>  
    </ns2:FNDMNFUN>  
  </ns0:All_x0020_Requests_x0020_in_x0020_the_x0020_Set_STAGE10>  
</ns0:FNDRSSUB43>  

注释

调用请求集的请求消息需要一些可选参数,例如 SetRelClassOptions、SetPrintOptions、SetRepeatOptions 和 SetNlsOptions。 此处提供的请求消息不包含这些可选参数。 有关完整的请求消息(包括可选参数)的信息,请参阅 请求集的消息架构

业务编排使用消息,将其传递给 Oracle 电子商务套件,并接收响应。 响应消息保存在业务流程中指定的其他文件位置。 FNDRSSUB43请求集的响应如下所示:

<?xml version="1.0" encoding="utf-8"?>  
<FNDRSSUB43Response xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/RequestSets/FND">  
  <FNDRSSUB43Result>2543208</FNDRSSUB43Result>  
</FNDRSSUB43Response>  

Oracle 电子商务套件的响应包含请求 ID。 请求 ID“0”表示请求集的最终提交作失败。 在这种情况下,可以在请求消息(如 ContinueOnFail)中指定其他可选参数,以找出失败的原因并进一步调试。

最佳做法

部署并配置 BizTalk 项目后,可以将配置设置导出到名为绑定文件的 XML 文件。 生成绑定文件后,可以从文件导入配置设置,以便无需为同一业务流程创建发送端口和接收端口等项。 有关文件绑定的详细信息,请参阅 在 Oracle E-Business Suite 中重用适配器绑定

另请参阅

使用 Oracle E-Business Suite 适配器开发 BizTalk 应用程序