axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thilina Gunarathne (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AXIS2-3528) upload large file error! (java heap space)
Date Thu, 21 Feb 2008 16:59:19 GMT

    [ https://issues.apache.org/jira/browse/AXIS2-3528?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12571102#action_12571102
] 

Thilina Gunarathne commented on AXIS2-3528:
-------------------------------------------

Please refer to the comment I made to your earlier JIRA comment. Post your service code too...

>. there'r many problems like this i have found still unsolved . 
Please ask them in the mailing list or report JIRA's..

> upload large file error! (java heap space)
> ------------------------------------------
>
>                 Key: AXIS2-3528
>                 URL: https://issues.apache.org/jira/browse/AXIS2-3528
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>    Affects Versions: 1.3
>         Environment: win xp  jdk 1.5.0_06  tomcat  5.0.28 axis2_1.3
>            Reporter: portnet mc
>            Assignee: Thilina Gunarathne
>
> i had tried to upload and download large file(about 300M) through axis2_1.3 mtom . i
got a error message on uploading test but download is ok.  code and config file modified are
as follows:
> 	public static boolean upload(String mailboxnum, short greetingType,
> 			File file, String fileType) {
> 		try {
> 			OMElement data = buildUploadEnvelope(mailboxnum, greetingType,
> 					file, fileType);
> 			Options options = buildOptions();
> 			ServiceClient sender = new ServiceClient();
> 			sender.setOptions(options);
> 			OMElement ome = sender.sendReceive(data);
> 			String b = ome.getText();
> 			return Boolean.parseBoolean(b);
> 		} catch (Exception e) {
> 			e.printStackTrace();
> 		}
> 		return false;
> 	}
> 	public static InputStream download(String mailboxnum, short greetingType,
> 			String FileType) {
> 		try {
> 			OMElement data = buildDownloadEnvelope(mailboxnum, greetingType,
> 					FileType);
> 			Options options = buildOptions();
> 			ServiceClient sender = new ServiceClient();
> 			sender.setOptions(options);
> 			OMElement ome = sender.sendReceive(data);
> 			OMText binaryNode = (OMText) ome.getFirstOMChild();
> 			binaryNode.setOptimize(true);
> 			DataHandler actualDH = (DataHandler) binaryNode.getDataHandler();
> 			return actualDH.getInputStream();
> 		} catch (Exception e) {
> 			e.printStackTrace();
> 		}
> 		return null;
> 	}
> 	private static OMElement buildUploadEnvelope(String mailboxnum,
> 			short greetingType, File file, String FileType) {
> 		DataHandler expectedDH;
> 		OMFactory fac = OMAbstractFactory.getOMFactory();
> 		OMNamespace omNs = fac.createOMNamespace(
> 				"http://example.org/mtom/data", "x");
> 		OMElement data = fac.createOMElement("upload", omNs);
> 		OMElement fileContent = fac.createOMElement("fileContent", omNs);
> 		FileDataSource dataSource = new FileDataSource(file);
> 		expectedDH = new DataHandler(dataSource);
> 		OMText textData = fac.createOMText(expectedDH, true);
> 		fileContent.addChild(textData);
> 		OMElement mboxnum = fac.createOMElement("mailboxnum", omNs);
> 		mboxnum.setText(mailboxnum);
> 		OMElement gtType = fac.createOMElement("greetingType", omNs);
> 		gtType.setText(greetingType + "");
> 		OMElement fileType = fac.createOMElement("fileType", omNs);
> 		fileType.setText(FileType);
> 		data.addChild(mboxnum);
> 		data.addChild(gtType);
> 		data.addChild(fileType);
> 		data.addChild(fileContent);
> 		return data;
> 	}
> 	private static OMElement buildDownloadEnvelope(String mailboxnum,
> 			short greetingType, String FileType) {
> 		OMFactory fac = OMAbstractFactory.getOMFactory();
> 		OMNamespace omNs = fac.createOMNamespace(
> 				"http://example.org/mtom/data", "x");
> 		OMElement data = fac.createOMElement("getobject", omNs);
> 		OMElement mboxnum = fac.createOMElement("mailboxnum", omNs);
> 		mboxnum.setText(mailboxnum);
> 		OMElement gtType = fac.createOMElement("greetingType", omNs);
> 		gtType.setText(greetingType + "");
> 		OMElement fileType = fac.createOMElement("fileType", omNs);
> 		fileType.setText(FileType);
> 		data.addChild(mboxnum);
> 		data.addChild(gtType);
> 		data.addChild(fileType);
> 		return data;
> 	}
> 	private static Options buildOptions() {
> 		Options options = new Options();
> 		options.setSoapVersionURI(SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI);
> 		options.setTo(targetEPR);
> 		// enabling MTOM in the client side
> 		options.setProperty(Constants.Configuration.ENABLE_MTOM,
> 				Constants.VALUE_TRUE);
> 		options.setTransportInProtocol(Constants.TRANSPORT_HTTP);
> 		options.setProperty(Constants.Configuration.CACHE_ATTACHMENTS,
> 				Constants.VALUE_TRUE);
> 		options.setProperty(Constants.Configuration.ATTACHMENT_TEMP_DIR,
> 				TempDir);
> 		options
> 				.setProperty(Constants.Configuration.FILE_SIZE_THRESHOLD,
> 						"4000");
> 		return options;
> 	}
> axis2.xml is modified like this :
>     <parameter name="enableMTOM">true</parameter>
>     <parameter name="enableSwA">true</parameter>
>     <!--Uncomment if you want to enable file caching for attachments -->
>     <parameter name="cacheAttachments">true</parameter>
>     <parameter name="attachmentDIR">C:\\upload\\tep</parameter>
>     <parameter name="sizeThreshold">4000</parameter>
> there' an error when large file is upload as follows:
> org.apache.axis2.AxisFault: Java heap space
> 	at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:271)
> 	at org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAxisOperation.java:202)
> 	at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:579)
> 	at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:508)
> 	at example.client.FileTransferClient1.upload(FileTransferClient.java:39)
> 	at example.client.FileTransferClient1.main(FileTransferClient.java:154)
> i had change java_opts to -xms1024m and -xmx1024m , it looks like the same . there'r
many problems like this i have found 
> still unsolved .

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


Mime
View raw message