2

取得中の JAX-RS エンティティ プロバイダーは現在存在しません。ファイルをアップロードしようとしたときの例外.. 見逃したプロバイダーを登録するにはどうすればよいですか?

Apache Wink クライアントを使用してファイルをアップロードする最良の方法は何ですか。メディア タイプは multipart/form-data です。

    /* BufferedOutMultiPart requestEntity = new BufferedOutMultiPart();
    requestEntity.setBoundary("Simple-boundary-weqiftugcs");
    OutPart outPart = new OutPart();
    outPart.setBody(file);
    outPart.setContentType(MediaType.MULTIPART_FORM_DATA);
    outPart.addHeader("Content-Transfer-Encoding", "binary");
    outPart.addHeader("Content-Disposition", "form-data; name=\"uploadedFile\";");
    requestEntity.addPart(outPart); */

    MultipartEntity multiPartEntity = new MultipartEntity();
    FileBody fileBody = new FileBody(file);
    multiPartEntity.addPart("uploadFile", fileBody);

    ClientConfig clientConfig = new ClientConfig();
    RestClient restClient = new RestClient(clientConfig);

    Resource restResource = restClient.resource(serviceURL);
    restResource.accept("*/*");
    restResource.contentType(MediaType.MULTIPART_FORM_DATA);
    restResource.post(multiPartEntity);

スレッド「メイン」での例外

org.apache.wink.client.ClientRuntimeException:java.lang.RuntimeException: java.lang.RuntimeException: クラス org.apache.http.entity.mime.MultipartEntity の javax.ws.rs.ext.MessageBodyWriter 実装が見つかりませんでしたtype および multipart/form-data メディア タイプ。すべてのエンティティ プロバイダーが正しく登録されていることを確認します。JAX-RS エンティティー・プロバイダーが現在存在しない場合は、カスタム javax.ws.rs.ext.MessageBodyWriter プロバイダーを追加して、タイプとメディア・タイプを処理します。

4

0 に答える 0