I have a BPEL process, which receives the incoming request, validates the incoming request and then it puts the message in the queue. I set the "inmemoryoptimization" to "true" and completionPersistPolicy to "faulted". I have a scenario in which the consumer sends a flag in the request which can be set to either 'Y' or 'N'. If the consumer sends a 'Y' flag then even thought the inmemoryoptimization is set to "true" the complete flow trace needs to be displayed. So after the end of the flow, i used a 'if' consition to check whether the flag is set to 'Y' or 'N'. If its 'Y' then i manually fault the instance to check the entire flow trace. This happens in 10g. Since in 11g the reply will not be sent until the entire process in completed, even though i manually fault the instance, its the fault that's going to consumer not the reply output. Can anyone help me in finding a solution to this.
Yes i used a throw activity to forcefully fault the instance. But it is the fault that is going to the consumer, but not the actual response from the reply. The requirement is whenever a consumer sends a Y flag in the request, since the inmemoryoptimization is set to "true" and completepersistancelevel to "faulted", we want to manually fault the instance to see the complete flow trace.