Standard Elements Introducing EBM Header Concepts

Working with Message Transformations 23-13 Figure 23–5 EBM Header Components The following sections provide details about each of the components.

23.6.1 Standard Elements

This section discusses the standard elements in a message header.

23.6.1.1 EBMID

This element contains a GUID to uniquely identify the EBM, as shown in Example 23–10 . The GUID is generated using a provided standard XPath function. XPath function to generate GUID: orcl:generate-guid Example 23–10 EBMID EBMHeader EBMID33303331343032313534393138393830EBMID . . . EBMHeader

23.6.1.2 EBOName

This element contains the fully qualified name of the EBO in the notation: {namespaceURI}localpart, as shown in Example 23–11 . Example 23–11 EBOName EBMHeader EBOName{http:xmlns.oracle.comEnterpriseObjectsCoreEBOInvoiceV1}Query InvoiceEBOName . . . EBMHeader

23.6.1.3 RequestEBMID

This element contains the originating request GUID that uniquely identifies the originating request ID, as shown in Example 23–12 . The EBS populates this field in the response message by extracting it from the request message. 23-14 Developers Guide for Oracle Application Integration Architecture Foundation Pack Example 23–12 RequestEBMID EBMHeader RequestEBMID33303331343032313534393138393830RequestEBMID . . . EBMHeader

23.6.1.4 CreationDateTime

This element contains a timestamp that reflects when the EBM was created, as shown in Example 23–13 . The timestamp should be presented in UTC, which can be presented in current datetime and GMT offset as: yyyy - mm - dd T hh : mm : ss . s +? zzzzzz? XPath function to generate CreationDateTime: xp20:current-dateTime Example 23–13 CreationDateTime EBMHeader CreationDateTime200 7-04-2 7T12:22:17-08:00CreationDateTime . . . EBMHeader

23.6.1.5 VerbCode

This element contains the verb represented by the EBM, as shown in Example 23–14 . Example 23–14 VerbCode EBMHeader VerbCode QueryVerbCode . . . EBMHeader

23.6.1.6 MessageProcessingInstruction

This element contains instructions on how the message should be processed. This section indicates if the EBM is a production system-level message that should go through its standard path, or if it is a testing-level message that should go through the testing or simulation path. MessageProcessingInstruction contains two fields: ■ EnvironmentCode: Can be set to either CAVS or PRODUCTION. The default is PRODUCTION. Setting the value to PRODUCTION indicates that the request must be sent to a concrete endpoint. Setting the value to CAVS indicates that the request must be sent to CAVS Simulator. ■ DefinitionID: Specifies the test definition ID. It should be populated with the value of the property Routing.[PartnerlinkName].CAVS.EndpointURI from AIAConfigurationProperties.xml when the Working with Message Transformations 23-15 Routing.[PartnerlinkName].RouteToCAVS property is set to true in AIAConfigurationProperties.xml.

23.6.1.7 When to Populate Standard Header Fields

The standard header elements should be populated whenever a message is created. This occurs when: ■ Transforming an application request ABM into an EBM in a requester ABC implementation service. ■ Transforming an application response ABM into an EBM in a provider ABC implementation service.

23.6.1.8 How to Populate the Message Processing Instruction

To populate the message processing instruction 1. Add instructions to indicate how a message is to be processed. This instruction is normally used to tell the system to run the message in production mode or in simulationtesting mode, as shown in Example 23–15 . 2. These fields are currently populated by the CAVS. Usually, the fields are populated in the SOAP Header before initiating a testing request. Example 23–15 Message Processing Instruction Population corecom:MessageProcessingInstruction corecom:EnvironmentCode xsl:text disable-output-escaping=noProductionxsl:text corecom:EnvironmentCode corecom:MessageProcessingInstruction

23.6.2 Sender