Я пытаюсь проверить следующий загружаемый контент в rest-azure.Это составная часть / смешанная, первая часть - это тело, а вторая часть - это звуковой файл:
PUT /baseUri/service/v1/audio/14255894558 HTTP/1.1
Host: p18web.stg.example.com
Authorization: Basic XXXXXXXXXXXXXXXX
Content-Type: multipart/mixed; boundary="====outer123=="
Cache-Control: no-cache
--====outer123==
Content-Disposition: form-data; name="request";
Content-Type: application/json; charset=UTF-8
{
"object": {
"parentFolderPath": "Media/VR",
"attributes": {
"attribute": [
{
"name": "Date",
"value": "2014-03-17T12:37:59Z"
},
{
"name": "Message-Id",
"value": "950124.162336@example.com"
}
]
}
}
}
--====outer123==
Content-Disposition: form-data; name="attachment"; filename="";Content-ID:
duicw78fhage7f
Content-Type: audio/wav
UklGRjItFABXQVZFZm10IBAAAAABAAIARKwAABCxAgAEABAAZGF0YZgsFACn/5X/ff+D/xb/Hf8q/wP/fwAQANACQwJHBdMEGwfZBlEIOghmCVMJoAqdCt0L5QvkDP4MLw4yDjoQGBB/EygTZRjEF08fWh40KAUnvjHWMDI5IjljPIo9tDuXPZw5mTv1OH06hzqoO7088z3aPWY/Nz0ZP8A7oD3hOnk83DvuPOQ+iz81Q7tDHEfjRwhJWEr7SKhKcEgSSgxJSUowSzNMdE2RTvZNnU+ITHlOt0p3TJxK0ksETbxNxFBkUYlTiFRsVMdV/FQzVtNXWlh2/nfUduZ3u3bQd6t2tXefdq93gHaJd292d3djdmZ3QHZOdyx2L3cadiF3AXYGd+t17nbrdeJ2w3XOdrB1o3aqdaB2kXWWdnh1dnZvdWZ2YHVUdjp1OHYvdSt2IXUadgh1/XX1dOt15nTfddV0xnW5dKh
--====outer123==--
Я создал приведенный ниже тест, но, к сожалению, он не работает:
@Test
public void uploadAudio(){
Map<String, String> jsonRequest = new HashMap<>();
jsonRequest.put("Content-Disposition", "form-data");
Map<String, String> jsonAttachment = new HashMap<>();
jsonAttachment.put("Content-Disposition", "form-data");
jsonAttachment.put("Content-ID", "duicw78fhage7f");
given()
.contentType("multipart/mixed; boundary=====outer123==")
.multiPart("text", dataProvider.getAudioAttachment())
.multiPart(new MultiPartSpecBuilder(jsonRequest).with().controlName("request")
.and().mimeType(ContentType.JSON.withCharset("UTF_8")).build())
.multiPart(new MultiPartSpecBuilder(jsonAttachment).with().controlName("attachment")
.and().emptyFileName().and().mimeType("audio/wav").build())
.queryParam("msisdn", "14565894558")
.header("Authorization", "Basic xxxxxxxx")
.header("Cache-Control", "no-cache")
.body(dataProvider.getWSGUploadAudioRequest()).
expect()
.statusCode(200).
when()
.put("https://<host>/<service>/v1/audio/{msisdn}");
}
Я проверял этот случай много раз, и похоже, что проблема связана с комбинацией составных частей тела, хотя я точно не знаю, что вызывает эту проблему.Могу ли я помочь, пожалуйста?Я пользуюсь последней версией уверенного