I have a question about JAX (JAXB, JAXRPC, SAAJ) API bundles included with Virgo 3.0. Since most of the JAX APIs and their implementations are already included with JSE 1.6 (and Virgo can use them since their packages are declared in lib/java6-server.profile), my question is simple - why are those bundles included in the Virgo download? I'm asking because I removed all four of the JAX-related bundles from repository/ext, and Virgo still works with no problems (I only replaced JAXRPC with my own bundles: an API bundle + 2 of its fragments that include Sun's implementation and SPI classes since the JAXRPC API bundle provided with Virgo seems to be Axis-based). So before I start using this in production, I just want to make sure there won't be any covert nasty surprises waiting for me because of removing those bundles and depending on what is provided by JSE itself.
That's probably a throw-back to the days when SpringSource dm Server supported Java 5.
JAXRPC is used as you point out, but it should be reasonable to delete the other two if, as seems to be the case, they are unused. As for replacing JAXRPC with your own bundles: it sounds plausible, but of course Virgo may not have been tested in this configuration by anyone else.
Thanks, so far those JAXRPC bundles do work OK. I needed to make custom ones because only the APIs are included with Virgo, but it's lacking SPI and implementation.
And speaking of missing implementations, JSE does not include the whole of JAX-WS (for example, WSIT is missing), and it's a real pain to make it all work together with bundles. I'm not sure what direction future Virgo (web) releases will take with including JAX-related bundles, but if it's decided to keep them, then additionaly providing those missing components would be very useful.
I will, but I'll try (haven't managed yet) to first make functioning bundles myself, by studying in more details how different components of the framework are used. As you said - it is confusing, and pretty complex because all of the bits and pieces are released together as Metro, but are then kind of crippled when included into JSE so restoring full functionality could be tricky.