[prev in list] [next in list] [prev in thread] [next in thread] 

List:       rampart-dev
Subject:    [jira] Commented: (AXIS2-4756) Standalone Axis2 server cannot
From:       "Detelin Yordanov (JIRA)" <jira () apache ! org>
Date:       2010-06-29 14:48:50
Message-ID: 30607559.115611277822930944.JavaMail.jira () thor
[Download RAW message or body]


    [ https://issues.apache.org/jira/browse/AXIS2-4756?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12883569#action_12883569 \
] 

Detelin Yordanov commented on AXIS2-4756:
-----------------------------------------

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.:

<messageBuilders>
   ...
    <messageBuilder contentType="multipart/form-data" \
class="org.apache.axis2.transport.http.MultipartFormDataBuilder"/> </messageBuilders>

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.





> Standalone Axis2 server cannot handle multipart http requests
> -------------------------------------------------------------
> 
> Key: AXIS2-4756
> URL: https://issues.apache.org/jira/browse/AXIS2-4756
> Project: Axis2
> Issue Type: Bug
> Components: kernel, transports
> Affects Versions: 1.5.1, nightly
> Reporter: Detelin Yordanov
> Attachments: FileUploadService.aar, MultiPartHttpTest.zip
> 
> 
> When running a standalone Axis2 server and a multipart Http request is received, \
> the org.apache.axis2.builder.MultipartFormDataBuilder will throw an exception: \
> "Cannot create DocumentElement without HttpServletRequest". Reason for this is that \
> the Axis2 Http server wraps the incoming http request into an AxisHttpRequest and \
> there is no HttpServletRequest available.

-- 
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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic