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) {


Reply via email to