[ 
https://issues.apache.org/activemq/browse/CAMEL-1760?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=52483#action_52483
 ] 

Willem Jiang edited comment on CAMEL-1760 at 6/25/09 9:09 AM:
--------------------------------------------------------------

Apply the patch with thanks to  Andres, and I also added a simple test to 
verify it.

trunk
http://svn.apache.org/viewvc?rev=788393&view=rev

camel-1.x branch
http://svn.apache.org/viewvc?rev=788406&view=rev

      was (Author: njiang):
    trunk
http://svn.apache.org/viewvc?rev=788393&view=rev

camel-1.x branch
http://svn.apache.org/viewvc?rev=788406&view=rev
  
> Unable to read post params from request
> ---------------------------------------
>
>                 Key: CAMEL-1760
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-1760
>             Project: Apache Camel
>          Issue Type: Bug
>          Components: camel-jetty
>    Affects Versions: 1.6.0
>            Reporter: Andres
>            Assignee: Willem Jiang
>             Fix For: 1.6.2, 2.0.0
>
>
> If consuming messsages from jetty endpoint there is no way to read *post* 
> parameters from HttpServletRequest. 
> In example  getting HttpServletRequest  from body :
> HttpServletRequest req = exchange.getIn().getBody(HttpServletRequest.class);
> req.getParameterMap() returns allways empty map
> The problem is that jetty Request.extractParameters() method is trying  to 
> read post parameters from Request.getInputStream().  But unfortunately 
> someone strips the input stream before and req.getInputStream() returns 
> allways 0 bytes
> The workaround for me is to extend DefaultHttpBinding as described in:  
> http://camel.apache.org/jetty.html
> {code:title= MyHttpBinding .java|borderStyle=solid}
> public class MyHttpBinding extends DefaultHttpBinding {
>     
>     public void readRequest(HttpServletRequest request, HttpMessage message) {
>        request.getParameterMap();
>        super.readRequest(request,message);
>     }
> }
> {code}
> calling  request.getParameterMap()  will cache parameters inside jetty 
> Request and it's possible to query params later,  without having inputStream

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to