Uploaded image for project: 'CXF'
  1. CXF
  2. CXF-5896

Limiting upload size with "attachment-max-size" or "org.apache.cxf.io.CachedOutputStream.MaxSize" not working

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Not A Problem
    • None
    • Invalid
    • WS-* Components
    • None
    • Tomcat 6, CXF 2.7.3

    • Moderate

    Description

      Hi,

      I’m using a WebService with MTOM and Base64 for file transfer and everything works fine. However I received the requirement to limit the size of the file uploaded at a framework level avoid any OutOfMemory error before the files are fully transferred to the client.
      So far, these errors only happen when using the Base64, files bigger than 30 MB, but we want to limit the size no matter the protocol (MTOM or Base64).
      Searching for information the only thing found has been this http://cxf.apache.org/docs/jax-rs-multiparts.html, however it not very clear in its use or if the values are set in KB, bytes, etc.
      Anyway I have configured out WebService setting the properties but they seem to be ignored, I have tried also setting the system properties…and nothing happens.
      Here is what I tried in my endpoint configuration.

      <jaxws:endpoint id="service" implementor="#serviceImpl"
      		address="/ServiceLocation"
      		<jaxws:properties>
      			<entry key="attachment-directory" value="c:/cxf/uploads" />
      			<entry key="attachment-memory-threshold" value="10" />
      			<entry key="attachment-max-size" value="10" />
      		</jaxws:properties>
      	</jaxws:endpoint>
      

      I noted that the documentation states “jaxrs:properties”, ¿does this only work for Jax-RS?

      Attachments

        Activity

          People

            dkulp Daniel Kulp
            Abel S.Romero Abel Salgado Romero
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: