XMLデータを消費する単純なJerseyクライアントを作成しているときに、「メディアタイプ= application/xmlのMessageBodyReaderが見つかりません」という例外に遭遇しました。 Mavenの依存関係としてのjersey-clientを含め、私の設定はすべて問題ありませんでした。使っていたバージョンは2.17でした。バージョンを2.15に下げると、問題なく動作し始めました。バージョン2.17が機能するために必要な依存関係を誰かが説明できますか?.
Maven依存関係(2.15以下で機能)
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>${jersey.version}</version>
</dependency>
サービスを利用するためのJavaコードスニペット
Client c = ClientBuilder.newClient();
WebTarget target = null;
target = c.target(Main.BASE_URI_XML);
String customerId = "415D7AB5";
XYZ response = target.path(customerId).request(MediaType.APPLICATION_XML).get(XYZ.class);
27.3を見てください。 Jersey 2.15から2.16 への移行
27.3.1.1。コアから分離されたJAX-Bプロバイダー
バージョン2.16以降、すべてのJAX-Bプロバイダーが個別のモジュールにバンドルされています。
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-jaxb</artifactId>
<version>2.17</version>
</dependency>