Uploaded image for project: 'JBoss Web Services'
  1. JBoss Web Services
  2. JBWS-3927

Remove java.endorsed.dirs requirement for properly setup clients


      Starting from JDK 1.8_40, the Java Endorsed Standards Override Mechanism is deprecated https://docs.oracle.com/javase/8/docs/technotes/guides/standards/ , basically because with the Jigsaw changes coming in JDK 9 that will not be supported / usable anymore.
      JBossWS currently relies on the afore mentioned endorsing mechanism for:

      • ensuring the JBossWS implementation of JAX-WS SPI Provider is used (instead of the Apache CXF or JDK JAXWS RI ones), regardless of how the classpath is defined;
      • ensuring the JBossWS implementation of Apache CXF BusFactory is used (instead of the vanilla Apache CXF one), regardless of how the classpath is defined.

      So, we need to get rid of the endorsing mechanism, at least for properly configured client classpaths in which the jbossws-cxf-factories jar is always included and comes before any Apache CXF jar.
      This implies carefully defining the jbossws-cxf poms and possibly restricting the supported JDKs from now on (depending on the JAX-WS api version they come with).

      The changes here do not ensure users will always automatically use the correct integration when not setting endorsing, basically because it will be up to them to e.g. avoid declaring Apache CXF dependencies before the JBossWS ones. We might put in place some runtime checks on the classpath or additional alternative mechanims as part of a different and future effort (when JDK9 will be supported).

            rhn-support-asoldano Alessio Soldano
            rhn-support-asoldano Alessio Soldano
            0 Vote for this issue
            2 Start watching this issue