How are you supposed to use JAX-WS RI with Java 6 SE or later since the JRE comes bundled with a version of JAX-WS? The unbundled version uses the same package names except some of the runtime classes use packages named com.sun.xml.internal.ws.*. How would instantiate an Endpoint in the unbundled version if its package name collides with the bundled Endpoint class? You'd always get the bundled Endpoint, not the unbundled one. Are you expected to modify the JRE bootclasspath?