Dúvida Jersey

Galera, fiz uma modificação em meu Bean para realizar o mapeamento do Jersey.
Fiz seguindo um tutorial que achei (O exemplo do tutorial consegui rodar aqui), mas não obtive sucesso.

Ao tentar acessar o endereço http://localhost:8080/menuDroidWeb/produtoresource
tenho o seguinte retorno

type Status report
message /menuDroidWeb/produtoresource
description The requested resource (/menuDroidWeb/produtoresource) is not available.

ProdutoBean.java

[code]package br.com.unip.menudroidweb.bean;

import java.io.Serializable;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;

import br.com.unip.menudroidweb.facade.ProdutoFacade;
import br.com.unip.menudroidweb.model.Produto;

@ViewScoped
@ManagedBean (name = “produtoBean”)
@Path("/produtoresource")
public class ProdutoBean extends AbstractBean implements Serializable {
private static final long serialVersionUID = -3644787609339087086L;

private Produto produto;
private List<Produto> produtoLista;
private ProdutoFacade produtoFacade;

public ProdutoFacade getProdutoFacade() {
	if (produtoFacade == null) {
		produtoFacade = new ProdutoFacade();
	}

	return produtoFacade;
}

public Produto getProduto() {
	if (produto == null) {
		produto = new Produto();
	}

	return produto;
}

public void setProduto(Produto produto) {
	this.produto = produto;
}

public void createProduto() {
	try {
		getProdutoFacade().createProduto(produto);
		closeDialog();
		displayInfoMessageToUser("Registro criado com sucesso!");
		loadProduto();
		resetProduto();
	} catch (Exception e) {
		keepDialogOpen();
		displayErrorMessageToUser("Ocorreu um erro na transação! Tente novamente.");
		e.printStackTrace();
	}
}

public void updateProduto() {
	try {
		getProdutoFacade().updateProduto(produto);
		closeDialog();
		displayInfoMessageToUser("Registro alterado com sucesso!");
		loadProduto();
		resetProduto();
	} catch (Exception e) {
		keepDialogOpen();
		displayErrorMessageToUser("Ocorreu um erro na transação! Tente novamente.");
		e.printStackTrace();
	}
}

public void deleteProduto() {
	try {
		getProdutoFacade().deleteProduto(produto);
		closeDialog();
		displayInfoMessageToUser("Registro excluído com sucesso!");
		loadProduto();
		resetProduto();
	} catch (Exception e) {
		keepDialogOpen();
		displayErrorMessageToUser("Ocorreu um erro na transação! Tente novamente.");
		e.printStackTrace();
	}
}

@GET
@Produces("text/xml")
public List<Produto> getAllProduto() {
	if (produtoLista == null) {
		loadProduto();
	}

	return produtoLista;
}

private void loadProduto() {
	produtoLista = getProdutoFacade().listAll();
}

public void resetProduto() {
	produto = new Produto();
}

}[/code]

Alguém saberia me dizer o que estou fazendo de errado?
Agradeço desde já!

Opa, achei o erro, esqueci de mapear o Jersey no web.xml.
Agora ele conseguiu executar o método getAll, contudo não exibiu o xml e me deu o seguinte retorno de erro no console

[code]Hibernate:
select
produto0_.idProduto as idProduto4_,
produto0_.descricao as descricao4_,
produto0_.observacaoCardapio as observac3_4_,
produto0_.precoCusto as precoCusto4_,
produto0_.precoVenda as precoVenda4_
from
menuDroid.produto produto0_
Set 15, 2012 6:11:28 PM com.sun.jersey.spi.container.ContainerResponse write
Grave: A message body writer for Java class java.util.ArrayList, and Java type java.util.List<br.com.unip.menudroidweb.model.Produto>, and MIME media type text/xml was not found
Set 15, 2012 6:11:28 PM com.sun.jersey.spi.container.ContainerResponse write
Grave: The registered message body writers compatible with the MIME media type are:
text/xml ->
com.sun.jersey.core.impl.provider.entity.XMLJAXBElementProvider$Text
com.sun.jersey.core.impl.provider.entity.DocumentProvider
com.sun.jersey.core.impl.provider.entity.SourceProvider$SourceWriter
com.sun.jersey.core.impl.provider.entity.XMLRootElementProvider$Text
com.sun.jersey.core.impl.provider.entity.XMLListElementProvider$Text
/ ->
com.sun.jersey.core.impl.provider.entity.FormProvider
com.sun.jersey.core.impl.provider.entity.StringProvider
com.sun.jersey.core.impl.provider.entity.ByteArrayProvider
com.sun.jersey.core.impl.provider.entity.FileProvider
com.sun.jersey.core.impl.provider.entity.InputStreamProvider
com.sun.jersey.core.impl.provider.entity.DataSourceProvider
com.sun.jersey.core.impl.provider.entity.XMLJAXBElementProvider$General
com.sun.jersey.core.impl.provider.entity.ReaderProvider
com.sun.jersey.core.impl.provider.entity.DocumentProvider
com.sun.jersey.core.impl.provider.entity.StreamingOutputProvider
com.sun.jersey.core.impl.provider.entity.SourceProvider$SourceWriter
com.sun.jersey.server.impl.template.ViewableMessageBodyWriter
com.sun.jersey.json.impl.provider.entity.JSONJAXBElementProvider$General
com.sun.jersey.core.impl.provider.entity.XMLRootElementProvider$General
com.sun.jersey.core.impl.provider.entity.XMLListElementProvider$General
com.sun.jersey.json.impl.provider.entity.JSONRootElementProvider$General
com.sun.jersey.json.impl.provider.entity.JSONListElementProvider$General

Set 15, 2012 6:11:28 PM com.sun.jersey.spi.container.ContainerResponse logException
Grave: Mapped exception to response: 500 (Internal Server Error)
javax.ws.rs.WebApplicationException: com.sun.jersey.api.MessageException: A message body writer for Java class java.util.ArrayList, and Java type java.util.List<br.com.unip.menudroidweb.model.Produto>, and MIME media type text/xml was not found
at com.sun.jersey.spi.container.ContainerResponse.write(ContainerResponse.java:285)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1448)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1360)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1350)
at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1001)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: com.sun.jersey.api.MessageException: A message body writer for Java class java.util.ArrayList, and Java type java.util.List<br.com.unip.menudroidweb.model.Produto>, and MIME media type text/xml was not found
… 24 more
[/code]

Alguém saberia o porque disso?