我正在通过 CXF 客户端调用 REST url 来上传一个 xml 文件:
WebClient webClient = WebClient.create("some base uri")
.header("Authorization",createAuthorizationHeader);
webClient.encoding("UTF-8");
webClient.type(MediaType.MULTIPART_FORM_DATA);
ContentDisposition cd = new ContentDisposition("attachment;filename=abc.xml");
Attachment att = new Attachment("root", stream, cd);
Response response = webClient.post(new MultipartBody(att));
Run Code Online (Sandbox Code Playgroud)
但是我在 POST 调用时遇到以下异常
javax.ws.rs.ProcessingException:找不到类 org.apache.cxf.jaxrs.ext.multipart.MultipartBody 的消息正文编写器,ContentType:multipart/form-data
我尝试添加提供者:
List providers = new ArrayList();
providers.add(new org.codehaus.jackson.jaxrs.JacksonJsonProvider());
providers.add(new org.apache.cxf.jaxrs.provider.MultipartProvider());
WebClient webClient = WebClient.create(constant.getUploadURI(),providers)
.header("Authorization",createAuthorizationHeader);
Run Code Online (Sandbox Code Playgroud)
我仍然遇到相同的异常