生成されたREST Webサービスから戻り値を取得しようと2時間試みましたが、Netbeansは何を試してもエラーをスローします。netbeans から生成されたコードは次のとおりです。
@GET
@Override
@Produces({"application/xml", "application/json"})
public List<Person> findAll() {
return super.findAll();
}
クライアントを作成すると、この生成されたコードが得られます
public <T> T findAll_XML(Class<T> responseType) throws UniformInterfaceException {
WebResource resource = webResource;
return resource.accept(javax.ws.rs.core.MediaType.APPLICATION_XML).get(responseType);
}
私はこれを呼び出す方法をいくつか試しましたが、多くのサーフィンを行った後、これでうまくいくはずですが、そうではありません。
public static void main(String[] args) {
PersonRESTClient prc = new PersonRESTClient();
Person person = prc.find_XML(Person.class, "100");
System.out.println(person.getFirstname() + " " + person.getSecondname()); //THIS WORKS!!
GenericType<List<Person>> gType = new GenericType<List<Person>>(){};
List<Person> persons = (List<Person>) prc.findAll_XML(gType.getClass());
for (Person p : persons) {
System.out.println(person.getFirstname() + " " + person.getSecondname());
}
}
私が得るエラーは
2013 年 3 月 7 日 2:23:31 PM com.sun.jersey.api.client.ClientResponse getEntity SEVERE: Java クラス restexample2client.RestExample2Client$1、Java タイプ クラス restexample2client.RestExample2Client$1、および MIME メディア タイプ アプリケーションのメッセージ本文リーダー/xml が見つかりませんでした 2013 年 3 月 7 日 2:23:31 PM com.sun.jersey.api.client.ClientResponse getEntity 重大: MIME メディア タイプと互換性のある登録済みメッセージ本文リーダーは、application/xml ->
com.sun です。 .jersey.core.impl.provider.entity.XMLJAXBElementProvider$App
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$App
com.sun.jersey.core.impl.provider.entity.XMLListElementProvider$App
com.sun.jersey.core.impl.provider.entity.XMLRootObjectProvider $App / -> com.sun.jersey.core.impl.provider.entity.FormProvider 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.json.impl.provider.entity.JSONArrayProvider$General
com.sun .jersey.json.impl.provider.entity.JSONObjectProvider$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$一般 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 com.sun.jersey.json.impl.provider.entity.JacksonProviderProxyスレッド「メイン」の例外 com.sun.jersey.api.client.ClientHandlerException: Java クラス restexample2client.RestExample2Client$1 および Java タイプ クラス restexample2client.RestExample2Client$1 のメッセージ本文リーダー、および MIME メディア タイプ application/xml が見つかりませんでしたcom.sun.jersey.api.client.ClientResponse.getEntity(ClientResponse.java:561) com.sun.jersey.api.client.ClientResponse.getEntity(ClientResponse.java:517) com.sun.jersey.api. client.WebResource.handle(WebResource.java:684) at com.sun.jersey.api.client.WebResource.access$200(WebResource.java:74) at com.sun.jersey.api.client.WebResource$Builder.get (WebResource.java:507) at com.carnabygaming.rest.service.client.EnterpriseRESTClient.findAll_XML(EnterpriseRESTClient.java:47) at restexample2client.RestExample2Client.メイン (RestExample2Client.java:32)
誰が私が間違っているのか考えていますか? 単一オブジェクトで生成されたコードは問題なく動作します。テストを実行すると、メソッドが Web ページに表示されないことに気付きました。まだ助けが必要です。