Если вы используете отдыхающие веб-службы (я бы порекомендовал Джерси, если вы http://jersey.dev.java.net), вы можете передавать аннотированные объекты JAXB. Джерси автоматически сериализует и десериализует ваши объекты как на стороне клиента, так и на стороне сервера.
Сторона сервера;
@Path("/mypath")
public class MyResource
{
@GET
@Produces(MediaType.APPLICATION_XML)
public MyBean getBean()
{
MyBean bean = new MyBean();
bean.setName("Hello");
bean.setMessage("World");
return bean;
}
@POST
@Consumers(MediaType.APPLICATION_XML)
public void updateBean(MyBean bean)
{
//Do something with your bean here
}
}
Сторона клиента;
//Get data from the server
Client client = Client.create();
WebResource resource = client.resource(url);
MyBean bean = resource.get(MyBean.class);
//Post data to the server
bean.setName("Greetings");
bean.setMessage("Universe");
resource.type(MediaType.APPLICATION_XML).post(bean);
JAXB bean;
@XmlRootElement
public class MyBean
{
private String name;
private String message;
//Constructors and getters/setters here
}