Webservice RESTful com Java

boa noite pessoa :smiley:
meu primeiro post aqui :oops:
então galera, meu problema é o seguinte…tenho um webservice com rest, uma livraria, usando o jersey, mas não consigo consigo gravar uma locação, que contem varios livros
na verdade, ele nem passa pelo metodo de gravação, me retorna ja um bad request :frowning:
to vendo tb que os xmls gerados pelo jaxb e pelo xstream tão saindo diferentes, o que é um problema iuaheiua
xml do jaxb:

[code]

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 1 Everton 2 123465 java filho 1 filho filho [/code]

xml do xstream

<org.utfpr.pojo.Locacao> <usuario> <id>1</id> <nome>filho</nome> <senha>filho</senha> <email>filho</email> </usuario> <livros> <org.utfpr.pojo.Livro> <id>2</id> <autor> <id>1</id> <nome>Everton</nome> </autor> <titulo>Java</titulo> <isbn>123465</isbn> </org.utfpr.pojo.Livro> </livros> </org.utfpr.pojo.Locacao>

Codigo do meu controlador

[code]
@Path(“locacao”)
@Consumes(“text/xml”)
public class LocacaoResource extends Resource {

@POST
@Produces("text/xml")
public Response cadastrarLocacao(Locacao locacao){
	try {
		System.out.println("Quantidade de livros: "+locacao.getLivros().size());
		new DaoLocacao(HibernateUtil.sessao()).cadastra(locacao);
		return CREATED;
	} catch (Exception e) {
		e.printStackTrace();
		return CREATED;
	}
}[/code]

aqui ele nem imprime o “Quantidade de livros”. antes disso, o meu cliente ja recebe um bad request

Cliente

[code]
public boolean salvaLocacao(Locacao locacao){
try {
HttpClient cliente = new HttpClient();
PostMethod pm = new PostMethod(Server.URL+“locacao”);
XStream xs = new XStream();
String locXML = xs.toXML(locacao);

		JAXBContext context = JAXBContext.newInstance(new Class[]{Locacao.class});
		Marshaller marshaller = context.createMarshaller();
		marshaller.marshal(locacao, new File("C:/mar.xml"));
		
		System.out.println(locXML);
		StringRequestEntity sre = 
			new StringRequestEntity(locXML, "text/xml","UTF-8");
		pm.setRequestEntity(sre);
		
		int status = cliente.executeMethod(pm);
		if(status == HttpStatus.SC_CREATED)
			return true;
		return false;
	} catch (Exception e) {
		e.printStackTrace();
		return false;
	} 
}[/code]

alguem tem alguma luz?
obrigado

tenta colocar em cima do
@XStreamAlias(“locacao”)
public class Locacao

@XStreamAlias(“livro”)
public class Livro

acredito que funcionará…

retificando user não…

@XStreamAlias(“livro”)
public class Livro