I changed the Material class to be the same on the server side and
client side. I also added automated parsing of Java objects to JSON in
the WebServiceTest.java. I am still getting a 400 error for bad request
when testing though.
Fixed the issues with internal server errors. The problem was there was
no empty default constructor for Material class. This cause the JSON
parsing of Material on the server side to throw an Exception. I figured
this out by adding logging support to Spring via logback. I then add the
argument -Xdebug to my tomcat run configuration (not sure if necessary).
This let me see the server side exceptions as well.