Search in sources :

Example 1 with AttachmentType

use of org.nhindirect.schema.edge.ws.AttachmentType in project nhin-d by DirectProject.

the class MessageServiceImplService method copyAttachments.

/**
     * @param body - The incoming unmarshalled SOAP message
     * @param mailBody - The mail message that we're constructing
     * @throws IOException
     * @throws MessagingException
     */
private void copyAttachments(EmailType body, Multipart mailBody) throws IOException, MessagingException {
    if (log.isDebugEnabled())
        log.debug("Enter");
    if (body.getBody().getAttachment().size() > 0) {
        for (AttachmentType document : body.getBody().getAttachment()) {
            try {
                MimeBodyPart mailAttachment = new MimeBodyPart();
                if (log.isDebugEnabled()) {
                    DataHandler dh = document.getContent();
                    log.debug("Attachment: " + document.getFilename() + "\r\n   Type: " + dh.getContentType());
                    DataFlavor[] flavors = dh.getTransferDataFlavors();
                    for (DataFlavor flavor : flavors) {
                        log.debug("Flavor: " + flavor.getMimeType());
                    }
                    try {
                        InputStream is = dh.getInputStream();
                        log.debug("Size: " + is.available());
                        log.debug("Content class is: " + dh.getContent().getClass().getName());
                    } catch (Exception e) {
                        log.error("Could not get an InputStream for Attachment DataHandler object", e);
                    }
                }
                mailAttachment.setDataHandler(document.getContent());
                mailAttachment.setFileName(document.getFilename());
                mailBody.addBodyPart(mailAttachment);
            } catch (MessagingException e) {
                log.error(e);
                throw new MessagingException("Unable to process attachment", e);
            }
        }
    }
    if (log.isDebugEnabled())
        log.debug("Exit");
}
Also used : AttachmentType(org.nhindirect.schema.edge.ws.AttachmentType) MessagingException(javax.mail.MessagingException) InputStream(java.io.InputStream) DataHandler(javax.activation.DataHandler) MimeBodyPart(javax.mail.internet.MimeBodyPart) MessagingException(javax.mail.MessagingException) AddressException(javax.mail.internet.AddressException) InvalidPropertyException(org.springframework.beans.InvalidPropertyException) IOException(java.io.IOException) DataFlavor(java.awt.datatransfer.DataFlavor)

Aggregations

DataFlavor (java.awt.datatransfer.DataFlavor)1 IOException (java.io.IOException)1 InputStream (java.io.InputStream)1 DataHandler (javax.activation.DataHandler)1 MessagingException (javax.mail.MessagingException)1 AddressException (javax.mail.internet.AddressException)1 MimeBodyPart (javax.mail.internet.MimeBodyPart)1 AttachmentType (org.nhindirect.schema.edge.ws.AttachmentType)1 InvalidPropertyException (org.springframework.beans.InvalidPropertyException)1