# JAX-WS Annotated Services from Java

The JAX-WS APIs include a set of [annotations](https://jax-ws.java.net/jax-ws-ea3/docs/annotations.html#1.%20Overview|outline) which allow you to build services using annotated classes. These services are based on a single class which contains a set of operations.

Here's a simple example:

```
@WebService
public class Hello {
   public String sayHi(String name) {
      return "Hello " + name;
   }
}
```

JAX-WS includes many more annotations as well such as:

* @WebMethod - allows you to customize the operation name, exclude the operation from inclusion in the service, etc

* @WebParam - allows you to customize a parameter's name, namespace, direction (IN or OUT), etc

* @WebResult - allows you to customize the return value of the web service call

Data is marshalled from XML to Java and vice versa via the JAXB data-binding.

Services are publish via one of two means:

* The JAX-WS standard Endpoint APIs

* CXF's XML configuration format - i.e. &lt;jaxws:endpoint ... /&gt;