In the Group field, enter the XPath expression pointing to the field in the incoming

23 Understanding Message Exchange Patterns of an Oracle Mediator 23-1 23 Understanding Message Exchange Patterns of an Oracle Mediator This chapter describes common message exchange patterns between an Oracle Mediator service component and other applications. This chapter includes the following sections: ■ Section 23.1, Understanding a One-way Message Exchange Pattern ■ Section 23.2, Understanding a Request-Reply Message Exchange Pattern ■ Section 23.3, Understanding a Request-Reply-Fault Message Exchange Pattern ■ Section 23.4, Understanding a Request-Callback Message Exchange Pattern ■ Section 23.5, Understanding a Request-Reply-Callback Message Exchange Pattern ■ Section 23.6, Understanding a Request-Reply-Fault-Callback Message Exchange Pattern Notes: The following exchange patterns show the default handling of responses, faults, and callbacks by Oracle JDeveloper when a routing rule is created. Keep in mind the following points for all the cases: ■ When a response, fault, or callback is sent back to the caller, it is also possible to route the same message to a different target service or event by clicking the button next to the target and selecting a different target. ■ When the caller of the Oracle Mediator expects a response, one or more routing rules may route the request to a target that does not return a response, but there should be at least one sequential routing rule that returns a response. ■ If you have multiple routing rules involved in a request-response interaction, then the routing rules that send the response back to the initial caller should precede other routing rules, if any, that forward the response. ■ The asynchronous request-reply pattern in Oracle Mediator is supported only for web services. This exchange pattern is not supported for adapters and other services. 23-2 Oracle Fusion Middleware Developers Guide for Oracle SOA Suite

23.1 Understanding a One-way Message Exchange Pattern

In a one-way interaction, the Oracle Mediator is invoked, but it does not send a response back to the caller. Depending on the type of routing rule target, the responses, faults, and callbacks are handled as shown in Table 23–1 : Figure 23–1 illustrates the one-way message exchange pattern. Figure 23–1 One-way Message Exchange Pattern Table 23–1 Response When Oracle Mediator’s WSDL Is a One-way Interaction Routing Rule Target Type Response Request No response. Request Response Response is forwarded to another target or event. Request Response Fault Response and fault are forwarded to another target or event. Request Callback Callback is forwarded to another target or event. Request Response Callback Response and callback are forwarded to another target or event. Request Response Fault Callback Response, fault, and callback are forwarded to another target or event. Client One-Way Target Reference or Component Request-Response- Fault Target Reference or Component Request-Response Target Reference or Component Asynchronous Request-Callback Target reference or Component Invoke Invoke Reply Fwd Invoke Callback Fwd Invoke Response Fault Fwd One-Way Mediator Understanding Message Exchange Patterns of an Oracle Mediator 23-3

23.1.1 The one.way.returns.fault Property

The one.way.returns.fault property controls how faults and one-way messages are handled for one-way interface SOAP calls. You can add this property to the service binding component of the web service section for one-way web services in the composite.xml file. This property is not applicable to references. It is applicable only to services and only to the binding.ws binding type. Table 23–2 provides more details on this property. Table 23–2 one.way.returns.fault Property If one.way.returns.fault Is... Then... Set to true: . . . service name=Mediator1_2 ui:wsdlLocation=ReadFile.wsdl interface.wsdl interface=http:xmlns.oracle.compcbpeladapterfile LocalSandboxProject1ReadFile2Fwsdl.interfaceRead_ ptt binding.ws port=http:xmlns.oracle.compcbpeladapterfile LocalSandboxProject1ReadFile2Fwsdl.endpoint Mediator1Read_pt property name=one.way.returns.fault type=xs:string many=false override=maytrueproperty binding.ws service . . . Any fault that occurs during downstream processing returns a SOAP fault to the client and an HTTP response code of 500. The same behavior as 11g Release 1. Set to false: . . . service name=Mediator1_2 ui:wsdlLocation=ReadFile.wsdl interface.wsdl interface=http:xmlns.oracle.compcbpeladapterfile Local SandboxProject1ReadFile2Fwsdl.interfaceRead_ ptt binding.ws port=http:xmlns.oracle.compcbpeladapterfileLocalSan dboxProject1ReadFile2Fwsdl.endpointMediator1Read_ pt property name=one.way.returns.fault type=xs:string many=false override=mayfalseproperty binding.ws service . . . Any fault that occurs during downstream processing returns only an HTTP response code of 500. No SOAP fault is returned to the client. Not set the default case Any fault that occurs during downstream processing returns a SOAP fault to the client and an HTTP response code of 500. The same behavior as 11g Release 1.