Trocar uma Classe Resource em REST para Resource em WS-*

Alguém pode me mostrar como a classe abaixo ficaria se eu fosse usar o JAX-WS[WS-*]?
obs.: Está em JAX-RS [REST]


import java.net.URI;
import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Response;

import pojo.Aluno;
import client.EscolaService;

@Path("aluno")
@Consumes("application/xml")
@Produces("application/xml")
public class AlunoResource {

	private EscolaService escolaService;

	public AlunoResource() {
		this.escolaService = new EscolaService();
	}

	@POST
	public Response cadastrarAluno(Aluno aluno) {
		aluno = escolaService.cadastrarAluno(aluno);
		try {
			return Response.created(new URI("" + aluno.getMatricula())).build();
		} catch (URISyntaxException e) {
			throw new RuntimeException(e);
		}	
	}


	@GET
	@Path("{matricula}")
	public Response buscarAluno(@PathParam("matricula") String matricula) {
		Aluno aluno = escolaService.buscarAluno(new Integer(matricula)
				.intValue());
		if (aluno == null) {
			return Response.status(HttpServletResponse.SC_NOT_FOUND).build();
		}
		Response resposta = Response.ok(aluno).build();
		return resposta;
	}

	@PUT
	public Response alterarAluno(Aluno aluno) {
		aluno = escolaService.alterarAluno(aluno);
		try {
			return Response.created(new URI("" + aluno.getMatricula())).build();
		} catch (URISyntaxException e) {
			throw new RuntimeException(e);
		}
	}

	@DELETE
	@Path("{matricula}")
	public Response removerAluno(@PathParam("matricula") String matricula) {
		boolean excluir = escolaService.removerAluno(new Integer(matricula)
				.intValue());
		if (excluir == false) {
			return Response.status(HttpServletResponse.SC_NOT_FOUND).build();
		}
		Response resposta = Response.ok().build();
		return resposta;
	}
	
	@GET
	@Produces("text/plain")
	public String listarAlunos() {
		List<String> nomes = new ArrayList<String>();
		for(Iterator<Aluno> it = escolaService.listarAlunos().iterator(); it.hasNext();)
		{
			Aluno aluno = (Aluno)it.next();
			nomes.add(aluno.getNome());
		} return nomes.toString();
	}
}

Não ficaria exatamente igual, mas seria algo mais ou menos assim:


import java.net.URI;
import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Response;

import pojo.Aluno;
import client.EscolaService;

@WebService
public class AlunoResource {

	private EscolaService escolaService;

	public AlunoResource() {
		this.escolaService = new EscolaService();
	}

	@WebMethod
	public void cadastrarAluno(Aluno aluno) {
		aluno = escolaService.cadastrarAluno(aluno);
		try {
			return Response.created(new URI("" + aluno.getMatricula())).build();
		} catch (URISyntaxException e) {
			throw new RuntimeException(e);
		}	
	}

	@WebMethod
	public void buscarAluno(@PathParam("matricula") String matricula) {
		...	
                }

	@WebMethod
	public void alterarAluno(Aluno aluno) {
		...	
                }

	@WebMethod
	public void removerAluno(@PathParam("matricula") String matricula) {
		...
	}
	
	@WebMethod
	public String listarAlunos() {
		List<String> nomes = new ArrayList<String>();
		for(Iterator<Aluno> it = escolaService.listarAlunos().iterator(); it.hasNext();)
		{
			Aluno aluno = (Aluno)it.next();
			nomes.add(aluno.getNome());
		} return nomes.toString();
	}
}

Bom dia cara, valeu pela ajuda, mas eu to precisando que essa classe resource faça o WS-* voltar status code 404, 201, 200 e 400, nos testes que fiz ele só me retorna code 200, sabe como implemento isso?

Não implementa. Sugiro que estude mais a fundo web services para entender o funcionamento.