Thanks Dan I've just tried uploading a image of more than 5gb size with local transport. This is just an example program having server and client in a same file . The reason behind this is local transport is within a same jvm. If possible can you verify this. Also please confirm whether webservice.wsdl file is really needed for this local transport or not.
package com.java.testupload; import java.io.File; import java.util.HashMap; import java.util.Map; import javax.activation.DataHandler; import javax.activation.DataSource; import javax.activation.FileDataSource; import javax.xml.ws.Endpoint; import javax.xml.ws.soap.SOAPBinding; import org.apache.cxf.jaxws.JaxWsProxyFactoryBean; import com.sun.xml.internal.ws.developer.JAXWSProperties; public class ServicePublisher { private static final String FILENAME = "winserver"; private static final String FILETYPE = "vdi"; private static final String FILEPATH = "D:\\Windowsserver_VirtualDrive\\winserver.vdi"; /** * @param args */ public static void main(String[] args) { // Endpoint ep = Endpoint // .publish( // "http://localhost:8080/TestUploadServer/services/TestUploadServerImplPort", // new TestUploadServerImpl()); Endpoint ep = Endpoint.publish("local://TestUploadServerImplPort", new TestUploadServerImpl()); SOAPBinding binding = (SOAPBinding) ep.getBinding(); binding.setMTOMEnabled(true); consumeServiceFromClient(); } private static void consumeServiceFromClient() { JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(); Map<String, Object> props = new HashMap<String, Object>(); props.put("mtom-enabled", Boolean.TRUE); // props.put(JAXWSProperties.HTTP_CLIENT_STREAMING_CHUNK_SIZE, 8192); factory.setProperties(props); factory.setServiceClass(TestUploadServer.class); factory.setAddress("local://TestUploadServerImplPort"); TestUploadServer uploadWebservice = (TestUploadServer) factory.create(); FileUploader file = new FileUploader(); file.setName(FILENAME); file.setFileType(FILETYPE); DataSource source = new FileDataSource(new File(FILEPATH)); file.setDfile(new DataHandler(source)); uploadWebservice.uploadFile(file); System.out.println("Finished copying...."); } } Thanks, Shriram -- View this message in context: http://cxf.547215.n5.nabble.com/RE-Outofmemory-error-in-datahandler-tp5745554p5745732.html Sent from the cxf-user mailing list archive at Nabble.com.