JAX-RS アノテーションでアノテーションが付けられ、アノテーションを含む単純なサービスがあります@Produces("application/json")
。サービスを登録するときに次のプロパティを設定しました (DS を使用していますが、問題にはなりません)。
service.exported.interfaces -> *
service.exported.configs -> org.apache.cxf.rs
org.apache.cxf.rs.address -> myURI
アプリケーションを実行すると、URL にアクセスできますが、ブラウザーは次のように返します。
No message body writer has been found for response class MyClass.
OSGi コンソールに次のように表示されます。
Jan 11, 2012 2:29:48 PM org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor writeResponseErrorMessage
WARNING: No message body writer has been found for response class MyClass.
ドキュメントを読んで、おそらく JSON プロバイダーを登録する必要があると思いました。5 月の Activator で、次のように追加しました。
bundleContext.registerService(new String[] { "javax.ws.rs.ext.MessageBodyReader",
"javax.ws.rs.ext.MessageBodyWriter" },
new org.apache.cxf.jaxrs.provider.JSONProvider(), null);
しかし、これは何の違いもありません。
「応答クラス MyClass のメッセージ本文ライターが見つかりませんでした」を修正するにはどうすればよいですか。エラーメッセージ?