@Override public Object transformMessage(final MuleMessage message, String outputEncoding) throws TransformerException { try { if (wildcardAttachmentNameEvaluator.hasWildcards()) { try { wildcardAttachmentNameEvaluator.processValues( message.getInboundAttachmentNames(), new WildcardAttributeEvaluator.MatchCallback() { @Override public void processMatch(String matchedValue) { try { message.addOutboundAttachment( matchedValue, message.getInboundAttachment(matchedValue)); } catch (Exception e) { throw new MuleRuntimeException(e); } } }); } catch (Exception e) { throw new TransformerException(this, e); } } else { String attachmentName = attachmentNameEvaluator.resolveValue(message).toString(); DataHandler inboundAttachment = message.getInboundAttachment(attachmentName); message.addOutboundAttachment(attachmentName, inboundAttachment); } } catch (Exception e) { throw new TransformerException(this, e); } return message; }