каждый!
Я пытаюсь отправить запрос в Службу отдыха для загрузки файла PDF, но получаю HTTP-статус 400.
Служба позволяет отправлятьнесколько файлов, но требуется только один.Определение WADL:
<resource path="/uploadFiles">
<method name="POST" id="uploadDocuments">
<request>
<representation mediaType="multipart/mixed">
<param name="attachment1" style="query" type="xs:anyType"/>
<param name="attachment2" style="query" type="xs:anyType"/>
<param name="attachment3" style="query" type="xs:anyType"/>
</representation>
</request>
<response>
<representation mediaType="application/json"/>
</response>
</method>
В моем случае я просто хочу отправить один файл в "attatchment1".Я использую jersey-multipart, и у меня есть этот метод для создания объекта multipart:
private MultiPart createMultiPart (String fileName){
File file = new File(fileName);
final FileDataBodyPart bodyPart = new FileDataBodyPart(fileName, file);
final FormDataContentDisposition dispo = FormDataContentDisposition
.name("attachment1")
.fileName(fileName)
.size(file.length())
.build();
bodyPart.contentDisposition(dispo);
final MultiPart multBody = new MultiPart().bodyPart(fd);
return multBody;
}
Это клиент, которому я должен отправить запрос:
com.sun.jersey.api.client.Client client = new DefaultClientConfig();
com.sun.jersey.api.client.WebResource resource = client.resource(URI);
com.sun.jersey.api.client.WebResource.Builder resourceBuilder = resource.getRequestBuilder();
resourceBuilder = resourceBuilder.accept("application/json");
resourceBuilder = resourceBuilder.type("multipart/mixed");
com.sun.jersey.api.client.ClientResponse response;
response = resourceBuilder.method("POST", com.sun.jersey.api.client.ClientResponse.class, createMultiPart(fileName));
Думаю, проблема в том, что у меня возникла ошибка при создании объекта multiPart.Кто-нибудь знает Хой, чтобы решить это?
Заранее спасибо!