Hi Romain
Yes, as Dan mentioned, a major refactoring has been done in CXF 3.1.x.
I'd say having xmlschema and woodstox dependencies is not a major
problem. JAX-RS servers do not need the JAX-RS client implementation,
though not yet the other way around, but now that we have client and
server modules separate it is doable to have the client depending on the
minimum/shared JAX-RS code...
I think you can most likely drop a woodstox too, set a system property
(use insecure parser which is fine if you do not use XML payloads). One
point here is that JAX-RS requires supporting JAXB/XML, and I feel what
is expected to work by default should work so without expecting a user
to make sure it works - XML is still a fairly big 'thing' in many
services so the users who use XML should start a CXF server and have it
working. We can in principle use the built-in parser for that and save
on a woodstox dependency - but its capability to restrict XML in a
number of ways is a big plus (Colm had to release N number of security
announcements to do with XML related attacks) so it is a good to
dependency to have.
Though as I said try setting an
"org.apache.cxf.stax.allowInsecureParser" system property if you
absolutely do not need Woodstox and you should have only 1 'extra' dep,
XmlSchema which is very much needed by CXF and also by JAX-RS JAXB
Provider if it is a validating one.
You might be able to have the server starting without XMLSchema
(JAXBProvider is created reflectively it if it can not be loaded it is
ignored) - but as Dan mentioned you need to experiment and it can be
brittle - the server starts but then fails somewhere at the runtime
Cheers, Sergey
07/08/15 21:28, Romain Manni-Bucau wrote:
Sure, that is why it is still a wish ;) but seems small CLI are more and
more common so decreasing the size would be good but doesnt need to be done
now ;)
Romain Manni-Bucau
@rmannibucau <https://twitter.com/rmannibucau> | Blog
<http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber
<http://www.tomitribe.com>
2015-08-07 13:25 GMT-07:00 Daniel Kulp <[email protected]>:
On Aug 7, 2015, at 3:23 PM, Romain Manni-Bucau <[email protected]>
wrote:
used an older version but xmlschema and woodstox removal would be good
(why
not recommanded if I dont use XML parsing?)
We use XML internally for various config things and setup stuff. I
really have no idea if CXF would even start properly without woodstox.
You’d have to try it.
95% sure it won’t work without xmlschema either. Many cxf-core classes
have xmlschema params/returns as part of the method signatures.
Dan
Romain Manni-Bucau
@rmannibucau <https://twitter.com/rmannibucau> | Blog
<http://rmannibucau.wordpress.com> | Github <
https://github.com/rmannibucau> |
LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber
<http://www.tomitribe.com>
2015-08-07 11:18 GMT-07:00 Daniel Kulp <[email protected]>:
On Aug 7, 2015, at 2:13 PM, Daniel Kulp <[email protected]> wrote:
You should be able to get rid of the wsdl stuff. We pulled all the
wsdl stuff out of core specifically for this reason.
XmlSchema would definitely be required. Way too much in core depends
on
that. With 3.1.x, I’m not seeing a dependency on cxf-rt-bindings-xml
either.
I think with 3.1.x, the minimal for a client would be:
[INFO] org.apache.cxf.samples:jax_rs_basic:jar:3.1.3-SNAPSHOT
[INFO] +-
org.apache.cxf:cxf-rt-transports-http:jar:3.1.3-SNAPSHOT:compile
[INFO] | \- org.apache.cxf:cxf-core:jar:3.1.3-SNAPSHOT:compile
[INFO] | +-
org.codehaus.woodstox:woodstox-core-asl:jar:4.4.1:compile
[INFO] | | \- org.codehaus.woodstox:stax2-api:jar:3.1.4:compile
[INFO] | \- org.apache.ws.xmlschema:xmlschema-core:jar:2.2.1:compile
[INFO] +-
org.apache.cxf:cxf-rt-frontend-jaxrs:jar:3.1.3-SNAPSHOT:compile
[INFO] | \- javax.annotation:javax.annotation-api:jar:1.2:compile
[INFO] +- javax.ws.rs:javax.ws.rs-api:jar:2.0.1:compile
With some system settings, you could possibly remove woodstox, but that
would be highly NOT recommended.
Dan
Dan
On Aug 7, 2015, at 1:30 PM, Romain Manni-Bucau <[email protected]
wrote:
Hi guys,
just a very open idea for now but I think it would be great to be able
to
use CXF JAXRS client with a bit less dependencies.
Here the origin of the issue: I created several small "all in one" jar
recently mainly simplifying rest calls (let take a github or jira REST
client as sample if you want to see a concrete sample). Of course I
used
CXF for the JAXRS client - WebClient actually - and the only issue I
got
was the size of the jar.
In my case I don't care about xml stuff (mainly use String as
payloads)
so
wonder if we could get rid of wsdl, xmlschema, cxf-rt-bindings-xml etc
as
mandatory dependencies.
wdyt?
Romain Manni-Bucau
@rmannibucau <https://twitter.com/rmannibucau> | Blog
<http://rmannibucau.wordpress.com> | Github <
https://github.com/rmannibucau> |
LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber
<http://www.tomitribe.com>
--
Daniel Kulp
[email protected] - http://dankulp.com/blog
Talend Community Coder - http://coders.talend.com
--
Daniel Kulp
[email protected] - http://dankulp.com/blog
Talend Community Coder - http://coders.talend.com
--
Daniel Kulp
[email protected] - http://dankulp.com/blog
Talend Community Coder - http://coders.talend.com