yes fault policies absolutely work for sync Bpel processes, please check if you have defined the Binding fault in your fault policy and also in your bindings.
if you have defined them in your policies then the control will jump to the policies first do the respective action defined.
so do check again...
Thanks for the update .I have included binding fault , the same fault policies and bindings are working fine when i use asynchronous Bpel process(AsyncBpel -->JMS) . but for synchronous process it's getting timed out and the process is faulted.
we noticed the same behavior for retry policies and sync BPEL 2.0 processes. You might have at least two options:
1) Use async process instead
2) Use BPEL 1.1 => this should work with the Fault Framework