cxf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sergey Beryozkin <sberyoz...@gmail.com>
Subject Re: reduce CXF dependencies for JAXRS?
Date Sun, 09 Aug 2015 18:21:25 GMT
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 <dkulp@apache.org>:
>
>>
>>> On Aug 7, 2015, at 3:23 PM, Romain Manni-Bucau <rmannibucau@gmail.com>
>> 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 <dkulp@apache.org>:
>>>
>>>>
>>>>> On Aug 7, 2015, at 2:13 PM, Daniel Kulp <dkulp@apache.org> 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 <rmannibucau@gmail.com
>>>
>>>> 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
>>>>> dkulp@apache.org - http://dankulp.com/blog
>>>>> Talend Community Coder - http://coders.talend.com
>>>>>
>>>>
>>>> --
>>>> Daniel Kulp
>>>> dkulp@apache.org - http://dankulp.com/blog
>>>> Talend Community Coder - http://coders.talend.com
>>>>
>>>>
>>
>> --
>> Daniel Kulp
>> dkulp@apache.org - http://dankulp.com/blog
>> Talend Community Coder - http://coders.talend.com
>>
>>
>


Mime
View raw message