Client の引っ越し:REST(8)
- クライアントのサーバとのインターフェースは Delegater パッケージに集まっているので,ここを書き換える。jndi 呼び出して RemoteService を取り出していた部分を,ResteasyWebTarget から proxy 経由で取り出すように書き換える。
- NetBeans から起動したときは問題なかったのに,JAR から立ち上げたときログインで
javax.ws.rs.client.ResponseProcessingException: javax.ws.rs.ProcessingException: Unable to find a MessageBodyReader of content-type application/json and type class open.dolphin.infomodel.UserModel at org.jboss.resteasy.client.jaxrs.internal.ClientInvocation.extractResult(ClientInvocation.java:140)
というエラーが出て立ち上がらなかった。以下のようなテストコードで確認してみたところ,ResteasyClient client = new ResteasyClientBuilder().connectionPoolSize(20).build(); ClientConfiguration conf = (ClientConfiguration) client.getConfiguration(); MessageBodyReader mes = conf.getMessageBodyReader(UserModel.class, null, new Annotation[]{}, MediaType.APPLICATION_JSON_TYPE); System.out.println("MessageBodyReader = " + mes);
これを,NetBeans から立ち上げた場合MessageBodyReader = org.jboss.resteasy.plugins.providers.jackson.ResteasyJackson2Provider@2ac7b3a3
JAR から立ち上げた場合MessageBodyReader = null
なんでこういうことになるのか分からなかったが,とりあえず動けばいいと思って,Provider に ResteasyJackson2Provider を無理矢理入れたら立ち上がるようになった。ResteasyJackson2Provider jackson2Provider = new ResteasyJackson2Provider(); client.register(jackson2Provider);
« PvtServer の引っ越し:REST(7) | トップページ | beanBytes の処理:REST(付録) »
「OpenDolphin」カテゴリの記事
- Java 17 への移行(7) - OpenDolphin client の対応 (2023.02.04)
- Java 17 への移行(6) - Hibernate 6 でやらかす(2023.02.03)
- Java 17 への移行(5) - OpenDolphin server の対応(2023.02.02)
- Java 17 への移行(4) - OpenSearch の準備 [ubuntu 編](2023.02.01)
- Java 17 への移行(3) - OpenSearch の準備 [mac 編](2023.01.31)