Thanks for your welcome
There are a lot of way that Java EE 5 makes Web Services easier than in J2SE 1.4. Here are a few:
JAX-WS instead of JAX-RPC
=========================
This is one area with a lot of improvement. JAX-WS has replaced JAX-RPC as the primary API for creating and invoking Web services. JAX-RPC has a clumsy data binding that was difficult to work with. That made it difficult and awkward to control how XML/WSDL mapped to Java objects. JAX-WS uses JAXB 2.0 to handle data binding. JAX-WS focuses on the mapping between the WSDL interface definition of a Web service and its Java representation in the method signature structure. But the return and parameter types of the method signature are entirely handled by JAXB 2.0.
JAX-WS also directly supports REST endpoints. It makes it much easier for you to work directly with XML - if you choose not to let JAXB 2.0 do the binding for you. This is accomplished through the Provider<T> interface (server side) and the Dispatch<T> interface (client side).
Annotations / Simplified Packaging
==================================
JSR-181 and JAX-WS/JAXB provide annotations that let you define Web services without needing the confusing and cumbersome XML configuration files required by J2SE 1.4 Web services. For example, you no longer need to specify a webservices.xml file to deploy a Web service. You can simply annotate it with the @Webservice annotation.
Dependency Injection
====================
Java EE 5 lets you acquire references to Web Services clients using the @WebServiceRef annotation. You can also get an instance of a WebServiceContext using @Resource and that gives you access to
servlet context and HTTP headers, etc. from within your Web service implementation class.
Chapter 2 of my book provides a lot of detail on all the enhancements (and some of the problems) with Web services in Java EE 5 vs. J2SE 1.4