私はこのインターフェースを持っています:
@Path("inbox")
public interface InboxQueryResourceTest {
@POST
@Path("{membershipExternalId}/query")
@Consumes(MediaType.APPLICATION_XML)
@Produces("multipart/mixed")
public MultipartOutput query(@PathParam("membershipExternalId") final String membershipExternalId,
@QueryParam("page") @DefaultValue("0") final int page,
@QueryParam("pageSize") @DefaultValue("10") final int pageSize,
@QueryParam("sortProperty") final List<String> sortPropertyList,
@QueryParam("sortReversed") final List<Boolean> sortReversed,
@QueryParam("sortType") final List<String> sortTypeString,
final InstanceQuery instanceQuery) throws IOException;
}
MultipartOutputを返すメソッドを実装しました。Fiddlerからxmlクエリを投稿していますが、問題なく結果を受け取ります。
しかし、私は同じインターフェイスの統合テストを実行しました。同じオブジェクトを送信し、次のような応答を返します。
final MultipartOutput multiPartOutput = getClient().query(getUserRestAuth(), 0, 25, null, null, null, instanceQuery);
しかし、ここでは、統合テストから、奇妙なエラーが発生します。
コンテンツタイプmultipart/mixed; boundary="74c5b6b4-e820-452d-abea-4c56ffb514bb"およびタイプクラスorg.jboss.resteasy.plugins.providers.multipart.MultipartOutputのMessageBodyReaderが見つかりません
統合テストでのみこのエラーが発生するのはなぜですか?
PS:application / xmlをContentTypeとして送信するのではなく、マルチパートとして送信すると言う人もいます。もちろん、オブジェクトには必要な@XmlRootElementなどの注釈が付けられているため、これは誤りです。そうでない場合、FiddlerからのPOSTは機能しません。