Ahora abro el tópico sobre el framework CXF para la generación de WebServices,
sobre este tema podemos decir que es bastante sencillo de implementar Servicios Web con este framework y que en tiempo de ejecución es mucho más rápido que Axis 2 pero inferior a Metro de la Sun.
Basta con tener una clase POJO con su consabida implementación a si por ejemplo

package demo.order;

public class Order {

/*propiedades del POJO*/
private String customerID;
private String itemID;
private int qty;
private double price;

// Constructor
public Order() {
}

public String getCustomerID() {
return customerID;
}

public void setCustomerID(String customerID) {
this.customerID = customerID;
}

public String getItemID() {
return itemID;
}

public void setItemID(String itemID) {
this.itemID = itemID;
}

public int getQty() {
return qty;
}

public void setQty(int qty) {
this.qty = qty;
}

public double getPrice() {
return price;
}

public void setPrice(double price) {
this.price = price;
}

}
como se ve no hay mayor novedad sobre la construcción de nuestra clase
ahora bien, deberiamos de crear una interfaz a la que posteriomente acederemos

package demo.order;

import javax.jws.WebService;
/*anotacion que define al web service*/
@WebService
public interface OrderProcess {
String processOrder(Order order);
}

notece la anotación java @WebService que define a esta interfaz como un servicio Web, a lo cual debería de seguir la implementación de esta interfaz

package demo.order;

import javax.jws.WebService;
/*implementacion del servicio*/
@WebService
public class OrderProcessImpl implements OrderProcess {

public String processOrder(Order order) {
String orderID = validate(order);
return orderID;
}

/**
* Valida la orden y retorna el ID de la orden
**/
private String validate(Order order) {
String custID = order.getCustomerID();
String itemID = order.getItemID();
int qty = order.getQty();
double price = order.getPrice();

if (custID != null && itemID != null && !custID.equals(“”) && !itemID.equals(“”) && qty > 0 && price > 0.0) {
return “ORD1234″;
}
return null;
}
}

y eso seria todo, la implementación del servicio Web es lo importante, para más detalle ver mi blog
:)