У меня есть веб-сервиса, который вернуть этот вид объекта JSon:джерси реализация JSON вебсервис клиент
{
"dossiers": [
{
"id": "2"
},
{
"id": "3"
}
]
}
Так что я пытаюсь десериализируются этот ответ в POJO с использованием джерси-клиента (v1.12).
Так вот мой текущий код:
DossiersPOJO.java
@XmlRootElement(name = "dossiers")
public class DossiersPOJO
{
private List<DossierPOJO> dossiers;
public List<DossierPOJO> getDossiers()
{
return dossiers;
}
public void setDossiers(List<DossierPOJO> dossiers)
{
this.dossiers = dossiers;
}
}
Dossier.java
public class DossierPOJO
{
private Long id;
public Long getId()
{
return id;
}
public void setId(Long id)
{
this.id = id;
}
}
И сам код клиента:
WebResource siraWebResource = Client.create().resource(
"http://localhost:8081/site/rest/path/resources");
Builder accept = siraWebResource.accept(MediaType.APPLICATION_JSON_TYPE);
// accept.accept("application/json");
DossiersPOJO dossierJson = accept.get(DossiersPOJO.class);
Но когда я звоню получить я получаю этот стек ошибки:
log4j:WARN No appenders could be found for logger (org.springframework.core.env.StandardEnvironment).
log4j:WARN Please initialize the log4j system properly.
26 avr. 2012 17:18:03 com.sun.jersey.api.client.ClientResponse getEntity
GRAVE: A message body reader for Java class fr.paris.lutece.batches.ramen.bean.DossiersPOJO, and Java type class fr.paris.lutece.batches.ramen.bean.DossiersPOJO, and MIME media type application/json was not found
26 avr. 2012 17:18:03 com.sun.jersey.api.client.ClientResponse getEntity
GRAVE: The registered message body readers compatible with the MIME media type are:
*/* ->
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.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
Я не могу понять, где проблема приходят с тех пор я знаю, что мой клиент POJO точно похож на стороне сервера один.
Фактически нет, потому что ответ json не является массивом объектов, а объектом, который содержит ключ «досье» и массив как значение. Так что мои ДосьеPOJO в порядке. –
ну, у меня не было возможности проверить его вручную, и, конечно же, я понятия не имел о вашем управлении зависимостями :) –