Hi Alex,
It doesn't matter which JAX-WS implementation we choose, there will always be pros and cons and people who prefer one or the other. From a licenses point of view, Apache CXF is the better choice because it's under the Apache license. Removing CDDL dependencies is a good thing. From an OpenCMIS development point of view, it doesn't make a big difference. From a support point of view, Apache CXF is also the better choice. There are more documentation and support channels for Apache CXF than there are for the Metro RI. There is more information on the Internet how to run CXF on various application servers than there is for Metro RI.
There shouldn't be much impact for applications that also provide other Web Services in the boundaries of JAX-WS. It's a different story for applications that use Metro RI internal APIs - like OpenCMIS did. If this is an issue for someone, please let us know.
I think there is no need to have two versions of the server framework. If you don't want the Web Services binding, you only have to remove the servlet configuration from the web.xml. You can also remove the Web Services related dependencies or - if you use Maven - exclude them in your pom.xml.
Would it help if we provide sample web.xml and pom.xml files? - Florian
Hi Florian, Would upgrading to a newer version of Metro RI have helped instead of moving to Apache CXF? The latest version available is 2.2.10. I guess moving to CXF would make it difficult for any application that's already using Sun's JAX-WS and the OpenCMIS server framework. Does it make sense to have 2 versions of the server framework available - one with support for all 3 bindings and the other with atompub and browser binding only? Thanks From: Florian Müller <f...@apache.org> To: dev@chemistry.apache.org Sent: Sunday, July 12, 2015 2:12 AM Subject: Web Services and Java 8/9 Hi, The Web Service binding server implementation of OpenCMIS was based on the Sun JAX-WS RI. This JAX-WS implementation seems to have serious issues with Java 8 and 9 (see [1] and [2]). The Web Service binding client implementation used the JAX-WS provided by the JRE. Because of some shortcomings of the JAX-WS specification we had to call a few internal APIs. That's not working anymore with upcoming Java 8 and 9 releases. So, I have changed the Web Service binding implementation (client and server) to use Apache CXF 3.0 instead. This is a major change! It should not affect code that uses OpenCMIS, but it affects the deployment. OpenCMIS has now different dependencies. Updating to the next OpenCMIS release will need some more work and attention than before. The new implementation (in trunk) is complete but not well tested. The TCK passes and my smoke tests were all successful so far. It would be great if someone else could test it as well. - Florian [1] https://issues.apache.org/jira/browse/CMIS-917 [2| https://mail-archives.apache.org/mod_mbox/chemistry-dev/201506.mbox/%3C2FBF817A4032C64CA8DE5F4F73ED93A4438F3EEE%40otmucxg20.opentext.net%3E