You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by 王朋义 <wp...@live.com> on 2010/08/05 05:43:06 UTC

send big attachments problem

Hello,

 

I can send a small attachments using mtom.

but when I send a  >100M attachments, the error:” java heap space”.

So I set the cache in client and server:

 

Server:

<parameter name="cacheAttachments" locked="false">true</parameter> 

<parameter name="attachmentDIR" locked="false">C:/upload/tep/</parameter> 

<parameter name="sizeThreshold" locked="false">4000</parameter>

 

Client:

stub._getServiceClient().getOptions().setProperty(Constants.Configuration.CA
CHE_ATTACHMENTS, "true");

stub._getServiceClient().getOptions().setProperty(Constants.Configuration.AT
TACHMENT_TEMP_DIR, "D:\temp");

stub._getServiceClient().getOptions().setProperty(Constants.Configuration.FI
LE_SIZE_THRESHOLD, 4000);

 but this time, I got the AxisFault in client side:

 org.apache.axis2.AxisFault

         at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)

         at
org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.j
ava:123)

         at
org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.j
ava:67)

         at
org.apache.axis2.description.RobustOutOnlyAxisOperation$RobustOutOnlyOperati
onClient.handleResponse(RobustOutOnlyAxisOperation.java:81)

         at
org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperatio
n.java:417)

         at
org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisO
peration.java:229)

         at org.apache.axis2.client.OperationClient.execute(OperationClient.
java:165)

         at com.dongfang.test.ServiceStub.publishEvent(ServiceStub.java:302)

         at com.dongfang.test.Listener.fileModified(Listener.java:102)

         at
net.contentobjects.jnotify.win32.JNotifyAdapterWin32.notifyChangeEvent(Unkno
wn Source)

         at
net.contentobjects.jnotify.win32.JNotifyAdapterWin32$1.notifyChange(Unknown
Source)

         at
net.contentobjects.jnotify.win32.JNotify_win32.callbackProcessEvent(Unknown
Source)

Caused by: java.lang.NullPointerException

         at
org.apache.axis2.builder.BuilderUtil.createAttachmentsMap(BuilderUtil.java:5
10)

         at
org.apache.axis2.builder.MIMEBuilder.processDocument(MIMEBuilder.java:39)

         at
org.apache.axis2.transport.TransportUtils.createDocumentElement(TransportUti
ls.java:197)

         at
org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.j
ava:145)

         at
org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.j
ava:108)

         ... 10 more

 

And In server side :

[ERROR] java.net.SocketException: Connection reset

org.apache.axis2.AxisFault: java.net.SocketException: Connection reset

        at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)

        at
com.dongfang.server.ServiceMessageReceiverRobustInOnly.fromOM(Service

MessageReceiverRobustInOnly.java:180)

        at
com.dongfang.server.ServiceMessageReceiverRobustInOnly.invokeBusiness

Logic(ServiceMessageReceiverRobustInOnly.java:60)

        at
org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMe

ssageReceiver.java:114)

        at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:173)

        at
org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostReq

uest(HTTPTransportUtils.java:167)

        at
org.apache.axis2.transport.http.HTTPWorker.service(HTTPWorker.java:26

6)

        at
org.apache.axis2.transport.http.server.AxisHttpService.doService(Axis

HttpService.java:281)

        at
org.apache.axis2.transport.http.server.AxisHttpService.handleRequest(

AxisHttpService.java:187)

        at
org.apache.axis2.transport.http.server.HttpServiceProcessor.run(HttpS

erviceProcessor.java:82)

        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec

utor.java:885)

        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor

.java:907)

        at java.lang.Thread.run(Thread.java:619)

Caused by: org.apache.axiom.om.OMException: java.net.SocketException:
Connection

reset

        at
org.apache.axiom.attachments.impl.PartFactory.createPart(PartFactory.

java:172)

        at
org.apache.axiom.attachments.Attachments.getPart(Attachments.java:672

)

        at
org.apache.axiom.attachments.Attachments.getNextPartDataHandler(Attac

hments.java:590)

        at
org.apache.axiom.attachments.Attachments.getDataHandler(Attachments.j

ava:345)

        at
org.apache.axiom.soap.impl.builder.MTOMStAXSOAPModelBuilder.getDataHa

ndler(MTOMStAXSOAPModelBuilder.java:116)

        at
ch.iec.www.tc57._2008.schema.message.PayloadType$Factory.parse(Payloa

dType.java:547)

        at
ch.iec.www.tc57._2008.schema.message.EventMessageType$Factory.parse(E

ventMessageType.java:567)

        at
ch.iec.www.tc57._2008.schema.message.EventMessage$Factory.parse(Event

Message.java:332)

        at
com.dongfang.server.ServiceMessageReceiverRobustInOnly.fromOM(Service

MessageReceiverRobustInOnly.java:167)

        ... 11 more

Caused by: java.net.SocketException: Connection reset

        at java.net.SocketInputStream.read(SocketInputStream.java:168)

        at
org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(Abstrac

tSessionInputBuffer.java:130)

        at
org.apache.http.impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffe

r.java:127)

        at
org.apache.http.impl.io.AbstractSessionInputBuffer.read(AbstractSessi

onInputBuffer.java:147)

        at
org.apache.http.impl.io.ChunkedInputStream.getChunkSize(ChunkedInputS

tream.java:211)

        at
org.apache.http.impl.io.ChunkedInputStream.nextChunk(ChunkedInputStre

am.java:183)

        at
org.apache.http.impl.io.ChunkedInputStream.read(ChunkedInputStream.ja

va:152)

        at java.io.FilterInputStream.read(FilterInputStream.java:116)

        at
org.apache.axiom.om.util.DetachableInputStream.read(DetachableInputSt

ream.java:147)

        at java.io.FilterInputStream.read(FilterInputStream.java:116)

        at java.io.PushbackInputStream.read(PushbackInputStream.java:169)

        at
org.apache.axiom.attachments.BoundaryPushbackInputStream.readFromStre

am(BoundaryPushbackInputStream.java:114)

        at
org.apache.axiom.attachments.BoundaryPushbackInputStream.read(Boundar

yPushbackInputStream.java:248)

        at
org.apache.axiom.attachments.MIMEBodyPartInputStream.read(MIMEBodyPar

tInputStream.java:87)

        at
org.apache.axiom.attachments.utils.BAAOutputStream.receive(BAAOutputS

tream.java:101)

        at
org.apache.axiom.attachments.impl.BufferUtils.inputStream2BAAOutputSt

ream(BufferUtils.java:217)

        at
org.apache.axiom.attachments.impl.BufferUtils.inputStream2OutputStrea

m(BufferUtils.java:78)

        at
org.apache.axiom.attachments.impl.PartFactory.createPart(PartFactory.

java:136)

        ... 19 more

 

 

Thanks for your help!

 

Rocwing.

www.rocwing.com