Я пытаюсь получить содержимое MIME multipart, используя BodyPart следующим образом
ByteArrayOutputStream baos = null;
MimeMultipart mp = new MimeMultipart(new ByteArrayDataSource(inputStream, contentType));
int count = mp.getCount();
baos = new ByteArrayOutputStream();
for (int i = 0; i < count; i++) {
BodyPart bodyPart = mp.getBodyPart(i);
Object content = bodyPart.getContent();
if (content instanceof InputStream) {
// process inputStream
}
bodyPart.writeTo(MIMEbaos);
String attachment = MIMEbaos.toString();
}
Но bodyPart.getContent()
предоставляет тот же InputStream, что и все сообщение MIME, когда я ожидаю толькосодержимое (без типа содержимого, границ и т. д.), когда attachment
содержит целый раздел MIME, состоящий из нескольких частей, включая тип содержимого и т. д.
InputStream
из
ByteArrayOutputStream baos = new ByteArrayOutputStream();
msg.writeTo(baos);
byte[] bytes = baos.toByteArray();
InputStream inputStream = new ByteArrayInputStream(bytes);
, где msg
- это SOAPMessage
MIME-тип как MTOM