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