Я просматривал stackoverflow для этой ошибки в последнее время, и я не могу найти решение практически для всех потоков, которые у меня есть был. Вот почему я задаю этот вопрос здесь.Писатель тела сообщения для типа Java, класс bookInfoListType и приложение типа мультимедиа MIME/xml не найдено
Проблема в том, что я произнес ошибку при возврате ответа. Вот мое определение XSD:
<xs:element name="bookInfoList">
<xs:complexType>
<xs:sequence>
<xs:element name="bookInfo" type="bookInfoType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="bookInfo" type="bookInfoType"/>
<xs:complexType name="bookInfoListType">
<xs:sequence>
<xs:element name="bookInfo" type="bookInfoType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="bookInfoType">
<xs:sequence>
<xs:element name="bookId" type="xs:string" minOccurs="1" maxOccurs="1"/>
<!-- ... more elements !-->
</xs:sequence>
</xs:complexType>
, который был создан следующий класс bookListInfoType
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "bookInfoListType", propOrder = {
"bookInfo"
})
public class bookInfoListType {
protected List<bookInfoType> bookInfo;
public List<bookInfoType> getbookInfo() {
if (bookInfo == null) {
bookInfo = new ArrayList<bookInfoType>();
}
return this.bookInfo;
}
}
Но когда я пытаюсь отправить ответ обратно как
return Response.status(HttpStatus.SC_OK).entity(bookInfoListConverter.convert(wsContext, allBooks)).build();
я получаю указанную ошибку.
В моей ObjectFactory
, я вижу
public bookInfoListType createbookInfoListType() {
return new bookInfoListType();
}
Вот мой метод REST:
@Path ("v1/storename/")
public class BookResource
{
@GET
@Path ("books/{book_id}/info.xml")
@Produces (MediaType.APPLICATION_XML)
public Response getBookInfoXML() {
//business logic
return Response.status(HttpStatus.SC_OK).entity(bookInfoListConverter.convert(wsContext, allBooks)).build();
}
}
Не говоря уже, я другой JAXB сгенерированный класс называется bookInfoList
, как вы можете видеть в XSD , Их определение почти идентично (это одна вещь, о которой я подозреваю, что может быть проблемой, но остальные мои классы, которые следуют одному и тому же шаблону, работают нормально).
Я все еще пытаюсь ударить головой, чтобы понять, что происходит, но у меня заканчиваются идеи, любая помощь будет оценена по достоинству.
Что с этим 'clasNameListType'? Какова ошибка, и с трассировкой стека? – lexicore
Можете ли вы опубликовать метод, который вызывается для доступа к вашей службе (включая аннотации)? –
обновленный мой вопрос с запрошенными деталями –