Christopher Johnson wrote:
I'm trying to send large attachments to my service based on the example
found at http://viewcvs.globus.org/viewcvs.cgi/axis/java/samples/swa/ the
service works great for small attachments but when trying to add large
attachments I get java.lang.OutOfMemoryError exception.

How big? I have used SwA to 30MB+ attachments.


when using call.addAttachmentPart() and DIME I can send attachments of any size. (Attachments can be > then amount of memory in my machine)

There is a limit of 2GB-1, I think.


What is the best way to describe in my wsdl that the service accepts DIME attachments, I'd really like to stay away from using DataHandler in the wsdl.

Say it in text in the docs that accompany the WSDL.

FWIW my latest SOAP API has an upload operation that takes one of a URI or base64 data. The base64 is for small data, or for MTOM as and when that arrives. the URI is to identify the SwA or DIME attachment. Mimetype because only SwA does mimetype:

<xsd:element name="addFileRequest">
<xsd:complexType>
<xsd:annotation>
<xsd:documentation>
Attach a file to the application.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="name" type="xsd:anyURI">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:element>
<xsd:element name="mimetype" type="xsd:string">
<xsd:annotation>
<xsd:documentation>Mime type of the data
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:choice>
<xsd:element name="data" type="xsd:base64Binary">
<xsd:annotation>
<xsd:documentation>Data. </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="uri" type="xsd:anyURI" >
<xsd:annotation>
<xsd:documentation>URI of attachment</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
</xsd:element>




Reply via email to