0
Jettisonプロバイダを使用しています。apache wink jettison
public Set getClasses() {
Set s = new HashSet();
s.add(DatabaseResource.class);
return s;
}
public Set<Object> getSingletons() {
Set s = new HashSet();
JettisonJAXBProvider jaxbProvider = new JettisonJAXBProvider();
jaxbProvider.setUseAsReader(true);
jaxbProvider.setUseAsWriter(true);
return s;
}
サーバコード:
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Book post(Book inMessage) {
System.out.println("entered post method");
Book outMessage = new Book();
outMessage.setAuthur("Shiva:"+inMessage.getAuthur());
outMessage.setBookId("500");
outMessage.setBookName("SHIVA THE GREAT");
return outMessage;
}
クライアントコード:
Resource resource = client.resource("http://localhost:8080/CoeeServer/rest/book");
Book book = new Book();
book.setAuthur("author--Shiva.");
book.setBookId("500");
book.setBookName("Shiva the great");
Book response1 = resource.contentType(MediaType.APPLICATION_XML).accept(MediaType.APPLICATION_XML).post(Book.class,book);
これはコールする正しい方法ですか? 誰にでも提案がありますか?
次のエラーが発生しています。
{0}型とメディアタイプ{1}に対して、javax.ws.rs.ext.MessageBodyWriterが見つかりませんでした。すべてのエンティティプロバイダが正しく登録されていることを確認します。