Junitクライアントを使用してJSONベースのWebサービスをテストしようとしています。no-arg default constructor' on my request object and its super class (AMessageStrategy). When I add the
no-argデフォルトコンストラクターがないためにClientHandlerExceptionが発生しますto both of them the server throws a exception
。タイプ[simpletype、class javax.xml.bind.JAXBElement]:`に適したコンストラクターが見つかりません。これで修正されました。
理想的には、私は持っている必要はありませんno-arg default constructor
。問題は、それを回避する方法があるかどうかです。オブジェクトをjsonにシリアル化する必要があります。オブジェクトには、メッセージIDとメッセージデータの2つのメインフィールドがあります。メッセージデータはpojoです。
リクエストクラスに@XmlRootElementを追加しました(ただし、フィールドにアノテーションはありません)。
アドバイスしてください、私はちょっと立ち往生しています。そして、私はJavaEEの初心者です。これについてさらに情報が必要な場合はお知らせください。
com.sun.jersey.api.client.ClientHandlerException: javax.ws.rs.WebApplicationException: com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException: 2 counts of IllegalAnnotationExceptions
com.mcruiseon.common.message.request.RegistrationRequest does not have a no-arg default constructor.
this problem is related to the following location:
at com.mcruiseon.common.message.request.RegistrationRequest
com.mcruiseon.common.message.AMessageStrategy does not have a no-arg default constructor.
this problem is related to the following location:
at com.mcruiseon.common.message.AMessageStrategy
at com.mcruiseon.common.message.request.RegistrationRequest
at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:151)
at com.sun.jersey.api.client.Client.handle(Client.java:648)
at com.sun.jersey.api.client.WebResource.handle(WebResource.java:680)
at com.sun.jersey.api.client.WebResource.access$200(WebResource.java:74)
at com.sun.jersey.api.client.WebResource$Builder.post(WebResource.java:568)
at test.carpool4all.Registration.testPost(Registration.java:74)