Yes, you can call an Asynchronous BPEL from a Synchronous BPEL.
One of the issue you might run into is, if there is a separate process which is calling the synchronous BPEL, then this process might run into timeout based on how long the Asynchronous BPEL take to complete and respond back to the Synchronous BPEL. But if the Synchronous BPEL is an independent or a one way process then it should be OK.
Thanks for the update , my scenario is someting like below
Source <----> BPEL 1 BPEL 3 <-----> Target
Both BPEL1 & BPEL 3 are syncronous in nature , where as BPEL 2 and BPEL 4 are one way processes,
The problem i am facing now is , when BPEL 4 tries to call back to a call back port defined in BPEL 1 my correlation fails and BPEL 1 ends with a time out error .
If i make BPEL 1 as oneway/asynchronos everything works fine.
You have any suggestions for overcoming this scenario.
Sorry for the late repose, were you able to solve this issue? The only reason I can this of why your correlation from BPEL 4 fails is because the value in the fields which you are using for correlation must have changed. Can you check.