Hello,
I am tring to follow your tutorial step by step building a poll and
have been successful so far, however, I am now stuck:
1. On my client side I have transformed my java object to JAXBElement
-JAXBElement<Poll> jaxbPoll = new JAXBElement<Poll>( new
QName("poll"), Poll.class, poll );
-ClientResponse resp = service.put( ClientResponse.class ,
jaxbPoll );
2. On the PollResource side, I receive a JAXBElement<Poll> parameter
-public Response createPoll( JAXBElement<Poll> jaxbPoll ){}
3. My Poll object looks like this:
package rest;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement( name="poll" )
public class Poll
{
private int id;
private String question;
private static int index = 0;
public Poll()
{
index += 1;
setId( index );
}
private void setId( int id )
{
this.id = id;
}
@XmlAttribute( name="pollId" )
public int getId()
{
return id;
}
public void setQuestion( String question )
{
this.question = question;
}
@XmlElement()
public String getQuestion()
{
return this.question;
}
}
I then receive a 415 error and the information below:
14 Jan 2011 4:48:09 PM com.sun.jersey.spi.container.ContainerRequest
getEntity
SEVERE: A message body reader for Java class
javax.xml.bind.JAXBElement, and Java type
javax.xml.bind.JAXBElement<rest.Poll>, and MIME media type application/
octet-stream was not found
14 Jan 2011 4:48:09 PM com.sun.jersey.spi.container.ContainerRequest
getEntity
SEVERE: The registered message body readers compatible with the MIME
media type are:
application/octet-stream ->
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.RenderedImageProvider
*/* ->
com.sun.jersey.core.impl.provider.entity.FormProvider
com.sun.jersey.core.impl.provider.entity.MimeMultipartProvider
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.SourceProvider
$StreamSourceReader
com.sun.jersey.core.impl.provider.entity.SourceProvider
$SAXSourceReader
com.sun.jersey.core.impl.provider.entity.SourceProvider
$DOMSourceReader
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.core.impl.provider.entity.XMLRootObjectProvider
$General
com.sun.jersey.core.impl.provider.entity.EntityHolderReader
com.sun.jersey.json.impl.provider.entity.JSONRootElementProvider
$General
com.sun.jersey.json.impl.provider.entity.JSONListElementProvider
$General
Please help me solve this problem, how do I convert my objects to a
recognized MIME type?