设置应用程序上下文
在 Microsoft BizTalk Adapter for Oracle E-Business Suite 中,某些 Oracle 电子商务套件项目 (接口表、接口视图、并发程序和请求集) 必须设置应用程序上下文,然后才能对其执行操作。 在设置应用程序上下文之前,Oracle E-Business 适配器不允许对这些项目执行操作。 但是,对于基础 Oracle 数据库中的项目,用户是否要设置应用程序上下文由用户决定。
什么是应用程序上下文
应用程序上下文是一组与 Oracle E-Business Suite 中的项目关联的元素,用于对项目实现用户首选项和访问控制。 应用程序上下文包含以下元素:
用户名:可以连接到 Oracle E-Business Suite 的用户。
责任:责任是 Oracle E-Business Suite 中的一个访问级别,允许用户仅访问适合其在组织中角色的数据和功能。 职责可以允许访问特定应用程序、操作单位、书籍集以及受限制的窗口、功能和其他职责列表。 通过向用户分配责任,可以在 Oracle E-Business Suite 中授予/限制用户的访问权限。
组织 ID:Oracle E-Business Suite 支持设置多个组织。 这些不同的组织在存储有关这些组织的信息的 Oracle E-Business Suite 中表的“Org_ID”列中,由值“组织 ID”唯一标识。 通过向组织分配责任或显式选择组织,可以授予/限制用户对组织的访问权限。
有关 Oracle E-Business Suite 中的责任、多个组织和组织 ID 的详细信息,请搜索 Oracle 帮助中心。
设置应用程序上下文
当 Oracle 电子商务适配器连接到 Oracle 电子商务套件中的基础数据库时,不会在适配器中建立或初始化 Oracle 电子商务套件项目的应用程序上下文。 可以使用以下任一方法在 Oracle 电子商务适配器中初始化或设置这些项目的应用程序上下文:
绑定属性:Oracle E-Business 适配器公开用于设置应用程序上下文的以下绑定属性: OracleEBSOrganizationId、 OracleUserName、 OraclePassword、 OracleEBSResponsibilityKey、 OracleEBSResponsibilityName 和 ApplicationShortName。 无需为所有这些绑定属性指定值即可为各种项目设置应用程序上下文。 有关为项目设置应用程序上下文所需的绑定属性的信息,请参阅本主题后面的 用于为各种项目设置应用程序上下文的绑定属性 。
消息上下文属性:Oracle E-Business 适配器公开用于设置应用程序上下文的以下消息上下文属性: ApplicationShortName、 OrganizationID、 ResponsibilityKey 和 ResponsibilityName。 若要指定用户名和密码,必须使用绑定属性。 有关如何使用消息上下文属性设置应用程序上下文的信息,请参阅 使用消息上下文属性配置应用程序上下文。
重要
为 OracleEBSResponsibilityKey 绑定属性指定的值将替代 OracleEBSResponsibilityName 绑定属性的值。 同样,为 ResponsibilityKey 消息上下文属性指定的值将替代为 ResponsibilityName 消息上下文属性指定的值。
绑定属性与消息上下文属性 (优先顺序)
如果使用绑定属性和消息上下文属性设置应用程序上下文,则为消息上下文属性指定的值优先,并替代为绑定属性指定的值。 但是,例如,如果将应用程序短名称指定为消息上下文属性,将其他名称指定为绑定属性,则仅从消息上下文属性中获取应用程序短名称的值,其余值从相关绑定属性中选取。
应用程序短名称的优先顺序
设置应用程序上下文时,应用程序短名称按以下优先顺序使用, (从高到低) :
ApplicationShortName 消息上下文属性中指定的应用程序短名称。
SOAP 操作中指定的应用程序短名称 (接口表、接口视图、并发程序和请求集仅) 。
ApplicationShortName 绑定属性中指定的应用程序短名称。
但是,对于接口表、接口视图、并发程序和请求集,此优先顺序仅在设置应用程序上下文时适用。 若要标识接口表、接口视图、并发程序和请求集,将使用 SOAP 操作中的应用程序短名称。
责任键和责任名称的优先顺序
设置应用程序上下文时,责任键和责任名称按以下优先顺序使用 (最高到最低) :
在 ResponsibilityKey 消息上下文属性中指定的 责任键 。
在 ResponsibilityName 消息上下文属性中指定的 责任名称 。
OracleEBSResponsibilityKey 绑定属性中指定的责任键。
OracleEBSResponsibilityName 绑定属性中指定的责任名称。
提示
为何使用消息上下文属性来设置应用程序上下文? 如果使用绑定属性设置应用程序上下文,则 Oracle E-Business 适配器的 WCF-Custom 发送端口只能用于为绑定属性指定的特定组织 ID、责任和应用程序。 相反,如果使用消息上下文属性,则可以配置“泛型”WCF-Custom 发送端口,并在消息级别设置应用程序上下文。
为接口表、接口视图、并发程序和请求集设置应用程序上下文 (强制)
在 Oracle 电子商务适配器中对接口表、接口视图、并发程序和请求集执行操作之前,必须设置应用程序上下文。 为此,必须为绑定属性或之前指定的消息上下文属性提供适当的值。
重要
不能对接口表、接口视图、并发程序和请求集执行操作,除非已为所需的绑定属性或消息上下文属性设置了适当的值。
为 PL/SQL API、过程、函数、表和视图设置应用程序上下文
PL/SQL API:Oracle 电子商务适配器公开与 Oracle 数据库以及 Oracle E-Business Suite 应用程序关联的 PL/SQL API。 虽然可以选择为与 Oracle 数据库关联的 PL/SQL API 设置应用程序上下文,但必须为与 Oracle E-Business Suite 应用程序关联的 PL/SQL API 设置应用程序上下文。
过程和函数:不强制设置应用程序上下文以对 Oracle 数据库中的过程和函数执行操作。
表和视图:不强制设置应用程序上下文以对 Oracle 数据库中的表和视图执行操作。 但是,对于自定义 Oracle E-Business Suite 应用程序,用户可以将基数据库表注册为接口表,也可能不注册基数据库表。 如果数据库表未注册为接口表,它将与 Oracle 电子商务适配器中的数据库表一起显示。 由于这些表与 Oracle 电子商务应用程序相关联,因此对于这些表的任何操作,必须设置应用程序上下文。
若要为这些项目设置应用程序上下文,必须为前面指定的绑定属性或消息上下文属性提供适当的值。
设置轮询、ExecuteNonQuery、ExecuteReader、ExecuteScalar 和复合操作的应用程序上下文
除了项目,还可以为对这些项目执行的各种操作设置应用程序上下文。
若要设置轮询操作的应用程序上下文,只能使用前面指定的绑定属性。 若要设置应用程序上下文,必须为适用于执行轮询操作的项目的绑定属性提供适当的值。 例如,如果对接口表执行轮询操作,则必须为接口表的绑定属性指定值。
若要为 ExecuteNonQuery、ExecuteReader 和 ExecuteScalar 操作设置应用程序上下文,必须为绑定属性或之前指定的消息上下文属性提供适当的值。 若要为这些操作设置应用程序上下文,必须为绑定属性或消息上下文属性提供适当的值,这些值适用于执行操作的项目。
若要为复合操作设置应用程序上下文,必须为前面指定的绑定属性或消息上下文属性提供适当的值。 若要为复合操作设置应用程序上下文,必须为适用于单个操作的绑定属性或消息上下文属性提供适当的值。 例如,如果复合操作包含两个操作:一个在接口表上,另一个在数据库表上,则必须为接口表的绑定属性或消息上下文属性指定值,以及数据库表的绑定属性或消息上下文属性。
重要
对于所有这些操作,如果在 Oracle E-Business Suite (接口表、接口视图、并发程序或请求集) 的项目上执行操作,则必须设置应用程序上下文。 如果对基础数据库中的某个项目执行该操作,则不一定要设置应用程序上下文。 例如,如果要对接口表执行轮询操作,则必须设置应用程序上下文,而如果在表上执行轮询操作,则不强制设置应用程序上下文。
设置执行操作的语言
Oracle 电子商务适配器支持 Oracle 电子商务套件的多语言支持 (MLS) 功能,并允许在执行操作时指定语言。 适配器公开 MlsSettings 绑定属性下的 Language 绑定属性和语言消息上下文属性,以指定执行操作的语言。
为语言消息上下文属性指定的值将覆盖 MlsSettings 绑定属性下 Language 绑定属性的值。 有关 MlsSettings 绑定属性的详细信息,请参阅阅读有关 Oracle E-Business Suite 绑定属性的 BizTalk 适配器。
用于为各种项目设置应用程序上下文的绑定属性
下表提供了有关绑定属性的信息,必须为其指定适当的值,以便为各种项目设置应用程序上下文:
Artifacts | OracleEBSOrganizationId | OracleUserName | OraclePassword | OracleEBSResponsibilityKey 或 OracleEBSResponsibilityName |
ApplicationShortName |
---|---|---|---|---|---|
接口表和接口视图 | √* | √ | √ | √ | |
并发程序 | √* | √ | √ | √ | |
请求集 | √* | √ | √ | √ | |
PL/SQL API | √* | √ | √ | √ | √ |
过程和功能 | √* | √ | √ | √ | √ |
表和视图 | √* | √ | √ | √ | √ |
√* = 可选
重要
- 可选) (OracleEBSOrganizationId 绑定属性的默认值为 null。 如果为 OracleEBSOrganizationId 绑定属性指定值,则 Oracle 电子商务适配器在设置应用程序上下文时将会话ORG_ID设置为此值。
- 为 OracleEBSResponsibilityKey 绑定属性指定的值将替代为 OracleEBSResponsibilityName 绑定属性指定的值。
有关其中每个绑定属性的详细信息,请参阅 了解 Oracle 电子商务套件绑定属性的 BizTalk 适配器。