If you are having problems making boundary events work for service tasks based on SDO services, this post is for you. This was tested with SOA Suite 18.104.22.168.5. I have many service references in the project composite based on ADF SDO based services. A few operations are invoked using the Service Task in bpm process models. If you try to catch ServiceException using boundary events or an error event subprocess, you will be surprised to find out that neither of them work as expected. Try this with a regular webservice reference and everything works as expected.
Now if boundary event works with a regular web service reference, the boundary event may fault out with
java.lang.RuntimeException: No part Found in fault
This appears to be a bug in 22.214.171.124 version.
The workaround for now appears to be to move any service task that needs to handle an error to its own process. The same service task with boundary event will work as expected with an ADFBC reference.