I ended up creating ThreadLocal based provider which works quite nicely.
You can see the code at this gist.
You can switch from JAXWS and CXF like:
To force a provider
ThreadLocalProvider.setProvider(ThreadLocalProvider.JAXWS_RI_PROVIDER);
OR
ThreadLocalProvider.setProvider(ThreadLocalProvider.CXF_PROVIDER);