CXFRestクライアントでPOJOオブジェクトを転送したい。すでにJAXB注釈付きオブジェクトで機能します。だから私はそれをたくさん試みました。
私は試した
reader.setEntityClass(ObjectPOJO.class);
とのようなもの
reader.setEntityClass(JAXBElement<ObjectPOJO>.class);
どちらも機能しません。2回目の試行では、コードが間違っています。エンティティクラスをjaxbelementに設定するために取得します。多分それはそれで動作します。
オブジェクトを送信した後:
Response response = client.path(PATH).post(new JAXBElement<ObjectPOJO>(new QName("pojo"), ObjectPOJO.class, pojoObject));
私はさまざまな試みで自分のエンティティを取得しようとしました。何かのようなもの:
ObjectPOJO pojo = ((JAXBElement<TenantPOJO>) res.getEntity()).getValue();
- ObjectPOJO.classまたはJAXBElement.classを登録する必要があるかどうか誰かが知っていますか。2回目の試行が正しい場合、コードではどのように正しく見えますか?
- エンティティを応答から除外するための正しいコードは何ですか?
私のサービスは次のようになります。
@POST
@Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
public Response postPojo(JAXBElement<ObjectPOJO> pojo);
編集:
エラー
ERROR org.apache.cxf.jaxrs.client.AbstractClient - .Problem with reading the response message, class : class javax.ws.rs.core.Response, ContentType : application/xml.