Author: barrettj Date: Thu Jul 22 14:53:48 2010 New Revision: 966696 URL: http://svn.apache.org/viewvc?rev=966696&view=rev Log: Add doPriv necessary when creating MIME attachment objects
Modified: axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/datasource/jaxb/JAXBAttachmentMarshaller.java Modified: axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/datasource/jaxb/JAXBAttachmentMarshaller.java URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/datasource/jaxb/JAXBAttachmentMarshaller.java?rev=966696&r1=966695&r2=966696&view=diff ============================================================================== --- axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/datasource/jaxb/JAXBAttachmentMarshaller.java (original) +++ axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/datasource/jaxb/JAXBAttachmentMarshaller.java Thu Jul 22 14:53:48 2010 @@ -26,6 +26,7 @@ import org.apache.axiom.om.impl.llom.OMT import org.apache.axis2.Constants; import org.apache.axis2.Constants.Configuration; import org.apache.axis2.context.MessageContext; +import org.apache.axis2.java.security.AccessController; import org.apache.axis2.transport.http.HTTPConstants; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -38,6 +39,8 @@ import javax.mail.internet.MimePartDataS import javax.xml.bind.attachment.AttachmentMarshaller; import javax.xml.stream.XMLStreamWriter; +import java.security.PrivilegedAction; + /** * An implementation of the JAXB AttachmentMarshaller that is used to handle binary data from JAXB * and create populate the appropriate constructs on the MessageContext @@ -113,12 +116,23 @@ public class JAXBAttachmentMarshaller ex try { // Create MIME Body Part - InternetHeaders ih = new InternetHeaders(); + final InternetHeaders ih = new InternetHeaders(); + final byte[] dataArray = data; ih.setHeader(HTTPConstants.HEADER_CONTENT_TYPE, mimeType); - MimeBodyPart mbp = new MimeBodyPart(ih, data); + final MimeBodyPart mbp = (MimeBodyPart) AccessController.doPrivileged(new PrivilegedAction() { + public Object run() { + try { + return new MimeBodyPart(ih, dataArray); + } catch (MessagingException e) { + throw new OMException(e); + } + }}); //Create a data source for the MIME Body Part - MimePartDataSource mpds = new MimePartDataSource(mbp); + MimePartDataSource mpds = (MimePartDataSource) AccessController.doPrivileged(new PrivilegedAction() { + public Object run() { + return new MimePartDataSource(mbp); + }}); long dataLength =data.length; Integer value = null; if (msgContext != null) {