The Source for Java Technology Collaboration
User: Password:



Rama Pulavarthi's Blog

January 2008 Archives


A Tip on Using JAX-WS with Maven

Posted by ramapulavarthi on January 18, 2008 at 03:08 PM | Permalink | Comments (0)

A tip on Using Maven with JAX-WS is available as Enterprise Java Technologies Tech Tips. You can find more Enterprise Java Technical Tips that are posted every month here. In this tip, I talk about using JAX-WS Maven plugin to build Web Services.

The JAX-WS Maven Plugin is developed as part of the jax-ws-commons project, where useful plugins and extensions around the JAX-WS RI are collected. This tip explores the JAX-WS maven plugin's two goals wsimport and wsgen and shows it with a simple sample. In this tip, I used NetBeans 6.0 to walk through the programming model for Web Services development using Maven. Netbean 6.0 has good support for Maven making it easy for developing web applications and deploying on to GlassFish server with a few mouse clicks.

Though NetBeans 6.0 has good support for Maven, it does n't support Web Services development using Maven directly. I heard NetBeans guys are working on improving the support in this area so that you can get Maven based Web Services project instead of ant based Web Services project. Then some of the configuration steps explained in the tip will not be necessary. I am eagerly waiting for it.

If you are a command-line person, I plan to post a similar tip on using Maven CLI to build Web Services using JAX-WS maven plugin and deploy on to a container using Cargo Plugin. If you have any questions on using the plugin, please post them to users@metro.dev.java.net

Technorati:
JAX-WS   Metro   Maven   GlassFish   NetBeans  

JAX-WS 2.1 and JAXB 2.1 is available in JDK 6 Update 4 release

Posted by ramapulavarthi on January 11, 2008 at 05:02 PM | Permalink | Comments (4)

Finally, JDK6 Update 4 release, which has JAX-WS 2.1 and JAXB 2.1 implementation is out and available here.

What it means to you as a user:
You can use JAX-WS 2.1 (Metro 1.1) very smoothly on JDK 6 U4 and later.

Earlier releases of JDK 6 have JAX-WS 2.0 and JAXB 2.0 implementations. After the release of JDK 6 FCS, JAX-WS RI has been re-architected to perform better (infact a lot better ) and make it extensible for other technologies to be implemented using the core framework. Since the re-architecture and release of JAX-WS 2.1, JAX-WS user and developer community have been asking for the update of JAX-WS in JDK 6. Currently to use JAX-WS 2.1 on earlier JDK 6 releases, one has to use endorsed overide mechanism as explained here in detail. Using the endorsed mechanism, it has been little painful to use latest JAX-WS in applets and other scenarios. This has been the case for any evolving technology.

Since then, We have been planning to update JAX-WS in JDK 6 in Update release. It is little unusual for a major component such as JAX-WS to update its version without revving up the Java Major version. After discussions and the approval process, JAX-WS 2.1 has been integrated and tested thoroughly. This has took longer than we expected for it to come out due to unforeseen circumustances. Finally, JAX-WS 2.1 along with JAXB 2.1 is integrated in JDK 6 Update 4 release and is available for download. Rest assured, All your old web-services applications should work fine and may even perform better. JDK 6 U4 has bits based on JAX-WS 2.1.1 FCS and JAXB 2.1.1 FCS. The main change in JAX-WS API is the addition of API to support WS-Addressing 1.0. You can find the JAX-WS/JAXB changes and bug fixes that got into JDK 6 U4 here at JAX-WS change log and JAXB change log

You might also notice that OpenJDK6 still has JAX-WS 2.0. We are actively working on updating the bits in Open JDK as tracked on this bug report.

If you want to use the latest releases of JAX-WS/JAXB for other bug fixes, you can use the latest releases of JAX-WS and JAXB by putting the JAX-WS/JAXB jars in the classpath like any other Java library. So with JDK6 U4, you don't need to use the endorsed mechanism. The latest release of JAX-WS 2.1.3 has these changes and JAXB 2.1.6 has these changes

Also you might want to download Metro 1.1, which has JAX-WS 2.1.3 and Web Services Interoperability Technologies (WSIT) 1.1 that implements the WS-* specs and provides advanced Web Services support in terms of Quality of Service and Security. To use Metro 1.1 on JDK6 U4, you just have to put the Metro jars in the classpath.

Life is getting better. Isn't it?

Technorati:
JAX-WS   Metro   GlassFish   JDK



Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds