If you check cxf-rt-frontend-jaxws artifacts, you will find the
META-INF/service/javax.xml.ws.spi.Provider is point to
org.apache.cxf.jaxws22.spi.ProviderImpl
As the JAXWS 2.2 supports the JAXWS 2.1 API at the same time, so
cxf-rt-frontend-jaxws is support JAXWS 2.1 and JAXWS 2.2 at the same time.
IF you want the WSDL2Java code generation to use JAXWS 2.2. you need to
endorse the JAXWS API and JAXB API from your pom if you don't endorse
them from your JDK.
Willem
On 12/21/10 4:24 AM, Jason Pell wrote:
Hi,
I am using JDK 6 and I have endorsed both jars. What I am trying to
understand (poorly :-) is whether I need to enable the jaxws22 profile
- which I can do, but that seems kind of awkward.
Ideally if the cxf-rt-frontend-jaxws had deployed two versions of the
artifact instead, so a cxf-rt-frontend-jaxws and a
cxf-rt-frontend-jaxws22 I could have had a dependency on
cxf-rt-frontend-jaxws22 and be done with it. As it stands I am not
sure how I should add the jaxws-rt and jaxb 2.2 dependencies. If I
don't do anything I can see that jaxb 2.1 (amongst others) gets
included - which is clearly not what I am after. For the moment I
have added a dependency to
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-rt</artifactId>
<version>2.2.1</version>
</dependency>
In addition to cxf-rt-frontend-jaxws
But I am unsure if this brings with it other repurcussions?
On Tue, Dec 21, 2010 at 1:41 AM, Willem Jiang<[email protected]> wrote:
Hi,
If you are using JDK 1.5, you just need to add the dependency of jaxws
frondend with the version 2.3.1.
If you are using JDK 1.6, you need to endors the jaxws-api and jaxb-api
first.
You can find the example from the cxf jaxws frontend pom.xml[1] profile
jaxws.
[1]https://svn.apache.org/repos/asf/cxf/trunk/rt/frontend/jaxws/pom.xml
Willem
On 12/20/10 2:02 PM, Jason Pell wrote:
Hi,
The documentation (that I can find) is not clear on how I specify the
dependencies in cxf to get JAX WS 2.2.1 endpoints. I have the 2.2.x
jaxws-api and jaxb-api jars in my endorsed directory. I have
confirmed this part is at least working by creating 2.2 JAX Web
services using Endpoint.publish (no cxf dependencies in my project)
with just a jaxws dependency of:
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-rt</artifactId>
<version>2.2.1</version>
</dependency>
I used an @XmlElement (required = true) annotation in my web service
interface to ensure I did indeed get 2.2 jaxws endpoint generated.
I am unclear what is the recommended approach for CXF. What
dependencies should I have in my projects to ensure I get cxf 2.2
version of jaxws frontend. Do I have to activate the jaxws22 or is
there something a little cleaner for end users? Do I have to include
the jaxws-rt above as well or will cxf do this for me?
Thanks
Jason
--
Willem
----------------------------------
FuseSource
Web: http://www.fusesource.com
Blog: http://willemjiang.blogspot.com (English)
http://jnn.javaeye.com (Chinese)
Twitter: willemjiang
--
Willem
----------------------------------
FuseSource
Web: http://www.fusesource.com
Blog: http://willemjiang.blogspot.com (English)
http://jnn.javaeye.com (Chinese)
Twitter: willemjiang