This can be solved by providing custom implementation of org.apache.commons.fileupload.RequestContext that supports handling of an AxisHttpRequest.
Afterwards, the following simple modifications will do the trick:
1. When serving a request, the HTTPWorker will need to set the AxisHttpRequest in the MC
2. The MultipartFormDataBuilder will check for an AxisHttpRequest if it does not find an HttpServletRequest and will use the custom "AxisHttpRequestContext" implementation to extract the multipart parameters.
I created a patch, but it was mean for Axis2 1.4.1 and it is not very appropriate for Axis2 1.5 since the http transport classes are moved to a separate module and the MultipartFormDataBuilder is not able to reference them anymore.
As a workaround I provided a new MultipartFormDataBuilder in the http transport module, which extends the one in axis2 kernel.
If running Axis2 standalone , users will need to specify that one in the axis2.xml, e.g.:
<messageBuilder contentType="multipart/form-data" class="org.apache.axis2.transport.http.MultipartFormDataBuilder"/>
Is should be possible to use some factory mechanism to avoid having two MultipartFormDataBuilder implementations. But this would require some design changes which I will leave to you.